
/* 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 SetImageViewIterator(ImageView *destination,SetImageViewMethod set,void *context)

{
  bool bVar1;
  undefined *puVar2;
  int iVar3;
  MagickBooleanType MVar4;
  ImageView *pIVar5;
  int iVar6;
  int extraout_v1;
  Image *extraout_v1_00;
  int extraout_v1_01;
  int extraout_v1_02;
  Image *extraout_v1_03;
  int extraout_v1_04;
  Image *extraout_v1_05;
  int extraout_v1_06;
  int extraout_v1_07;
  Image *extraout_v1_08;
  int extraout_v1_09;
  Image *extraout_v1_10;
  int extraout_v1_11;
  int extraout_v1_12;
  Image *extraout_v1_13;
  ImageView **ppIVar7;
  ImageView **ppIVar8;
  int iVar9;
  Image *pIVar10;
  Image *pIVar11;
  ImageView *pIVar12;
  undefined *in_a3;
  int iVar13;
  int iVar14;
  ImageView *unaff_s0;
  int iVar15;
  int *piVar16;
  int *piVar17;
  ImageView **unaff_s2;
  Image *unaff_s3;
  undefined *unaff_s4;
  Image *unaff_s5;
  Image *pIVar18;
  size_t sVar19;
  Image *unaff_s6;
  Image *pIVar20;
  undefined *puVar21;
  code *pcVar22;
  code *pcVar23;
  undefined8 uVar24;
  undefined4 uStack_110;
  undefined4 uStack_10c;
  ImageView *pIStack_104;
  ImageView **ppIStack_100;
  Image *pIStack_fc;
  Image *pIStack_f8;
  MagickBooleanType MStack_f4;
  undefined4 *puStack_f0;
  int iStack_ec;
  ImageView *pIStack_e8;
  int *piStack_e4;
  ImageView **ppIStack_e0;
  Image *pIStack_dc;
  undefined *puStack_d8;
  Image *pIStack_d4;
  Image *pIStack_d0;
  code *pcStack_cc;
  undefined *puStack_b8;
  undefined4 uStack_b0;
  undefined4 uStack_ac;
  ImageView *pIStack_a8;
  ImageView **ppIStack_a4;
  Image *pIStack_a0;
  undefined *puStack_9c;
  Image *pIStack_98;
  MagickBooleanType MStack_94;
  undefined4 *puStack_90;
  ImageView *pIStack_8c;
  ImageView *pIStack_88;
  undefined *puStack_84;
  ImageView **ppIStack_80;
  Image *pIStack_7c;
  undefined *puStack_78;
  Image *pIStack_74;
  Image *pIStack_70;
  MagickOffsetType progress;
  ImageView *local_3c;
  SetImageViewMethod local_38;
  void *local_34;
  Image *local_30;
  MagickBooleanType local_2c;
  MagickOffsetType *local_28;
  ImageView *local_24;
  
  puVar2 = PTR___stack_chk_guard_003a9230;
  local_24 = *(ImageView **)PTR___stack_chk_guard_003a9230;
  if (destination == (ImageView *)0x0) {
LAB_000ff904:
    pIVar10 = (Image *)0x37a;
    in_a3 = PTR_s_t_to_left_003a88e4 + -0x4fec;
    ppIVar7 = (ImageView **)(PTR_s_t_to_left_003a88e4 + -0x5168);
    pIVar5 = (ImageView *)(PTR_s_t_to_left_003a88e4 + -0x5080);
    (*(code *)PTR___assert_fail_003a9608)();
  }
  else {
    unaff_s0 = destination;
    if (destination->signature != 0xabacadab) {
      (*(code *)PTR___assert_fail_003a9608)
                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,
                 PTR_s_t_to_left_003a88e4 + -0x4fec);
      goto LAB_000ff904;
    }
    ppIVar7 = (ImageView **)set;
    pIVar10 = (Image *)context;
    if (set == (SetImageViewMethod)0x0) {
LAB_000ff6d0:
      MVar4 = MagickFalse;
      context = unaff_s4;
    }
    else {
      unaff_s3 = destination->image;
      ppIVar7 = (ImageView **)0x1;
      pIVar10 = (Image *)destination->exception;
      iVar3 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);
      unaff_s4 = (undefined *)context;
      if (iVar3 == 0) goto LAB_000ff6d0;
      unaff_s5 = (Image *)(destination->extent).height;
      unaff_s6 = (Image *)(destination->extent).y;
      progress._4_4_ = 0;
      progress._0_4_ = 0;
      iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);
      if (((iVar3 == 4) ||
          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3)) &&
         ((iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 4 ||
          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3)))) {
        iVar15 = (int)unaff_s5 - (int)unaff_s6;
        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
        iVar3 = iVar15;
        if (iVar15 < 0) {
          iVar3 = iVar15 + 0x3f;
        }
        unaff_s6 = (Image *)(iVar3 >> 6);
        if (extraout_v1 < (int)unaff_s6) {
          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
          bVar1 = extraout_v1_02 < 2;
        }
        else {
          bVar1 = iVar15 < 0x80;
        }
        unaff_s5 = (Image *)(bVar1 ^ 1);
        pIVar10 = (Image *)0x1;
        if ((unaff_s5 != (Image *)0x0) &&
           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), pIVar10 = unaff_s6,
           extraout_v1_01 < (int)unaff_s6)) {
          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
          pIVar10 = extraout_v1_03;
          unaff_s6 = extraout_v1_03;
        }
      }
      else {
        uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
        if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {
          uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
          if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {
            pIVar10 = (Image *)0x1;
            goto LAB_000ff780;
          }
        }
        uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
        if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {
          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
          pIVar10 = extraout_v1_00;
        }
        else {
          pIVar10 = (Image *)0x2;
        }
      }
LAB_000ff780:
      in_a3 = (undefined *)0x0;
      local_2c = MagickTrue;
      local_28 = &progress;
      ppIVar7 = &local_3c;
      local_3c = destination;
      local_38 = set;
      local_34 = context;
      local_30 = unaff_s3;
      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);
      MVar4 = local_2c;
    }
    pIVar5 = local_24;
    unaff_s2 = (ImageView **)set;
    unaff_s4 = (undefined *)context;
    if (local_24 == *(ImageView **)puVar2) {
      return MVar4;
    }
  }
  puVar21 = PTR___stack_chk_fail_003a9064;
  (*(code *)PTR___stack_chk_fail_003a9064)();
  puStack_b8 = puVar21 + 0x2b0f7c;
  puStack_84 = puVar2;
  piVar16 = *(int **)(puVar21 + 0x2a98fc);
  pIStack_8c = (ImageView *)*piVar16;
  pIStack_88 = unaff_s0;
  ppIStack_80 = unaff_s2;
  pIStack_7c = unaff_s3;
  puStack_78 = unaff_s4;
  pIStack_74 = unaff_s5;
  pIStack_70 = unaff_s6;
  if (pIVar5 == (ImageView *)0x0) {
    MVar4 = (**(code **)(puVar21 + 0x2a9cd4))
                      (*(int *)(puVar21 + 0x2a8fb0) + -0x50fc,*(int *)(puVar21 + 0x2a8fb0) + -0x5168
                       ,0x3fa,*(int *)(puVar21 + 0x2a8fb0) + -0x5008);
    return MVar4;
  }
  if (pIVar5->signature != 0xabacadab) {
    MVar4 = (**(code **)(puVar21 + 0x2a9cd4))
                      (*(int *)(puVar21 + 0x2a8fb4) + 0x3930,*(int *)(puVar21 + 0x2a8fb0) + -0x5168,
                       0x3fb,*(int *)(puVar21 + 0x2a8fb0) + -0x5008);
    return MVar4;
  }
  ppIVar8 = ppIVar7;
  pIVar11 = pIVar10;
  pIVar20 = unaff_s6;
  if (pIVar10 == (Image *)0x0) {
LAB_000ff9c8:
    MVar4 = MagickFalse;
    ppIVar7 = unaff_s2;
    in_a3 = unaff_s4;
  }
  else {
    pIVar18 = (Image *)ppIVar7[5];
    ppIVar8 = (ImageView **)0x1;
    pIVar11 = (Image *)ppIVar7[7];
    pIVar20 = pIVar5->image;
    iVar3 = (**(code **)(puVar21 + 0x2a9ef0))(pIVar18);
    unaff_s2 = ppIVar7;
    unaff_s4 = in_a3;
    unaff_s5 = pIVar18;
    if (iVar3 == 0) goto LAB_000ff9c8;
    sVar19 = (pIVar5->extent).height;
    iVar15 = (pIVar5->extent).y;
    uStack_ac = 0;
    uStack_b0 = 0;
    iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar20);
    if (((iVar3 == 4) || (iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar20), iVar3 == 3)) &&
       ((iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar18), iVar3 == 4 ||
        (iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar18), iVar3 == 3)))) {
      iVar15 = sVar19 - iVar15;
      (**(code **)(puStack_b8 + -0x7774))(7);
      iVar3 = iVar15;
      if (iVar15 < 0) {
        iVar3 = iVar15 + 0x3f;
      }
      unaff_s5 = (Image *)(iVar3 >> 6);
      if (extraout_v1_04 < (int)unaff_s5) {
        (**(code **)(puStack_b8 + -0x7774))(7);
        bVar1 = extraout_v1_07 < 2;
      }
      else {
        bVar1 = iVar15 < 0x80;
      }
      pIVar11 = (Image *)0x1;
      if ((bool)(bVar1 ^ 1)) {
        (**(code **)(puStack_b8 + -0x7774))(7);
        pIVar18 = unaff_s5;
        if (extraout_v1_06 < (int)unaff_s5) {
          (**(code **)(puStack_b8 + -0x7774))(7);
          unaff_s5 = extraout_v1_08;
          pIVar18 = extraout_v1_08;
        }
        goto LAB_000ffa7c;
      }
      iVar3 = *(int *)(puStack_b8 + -0x7e1c);
    }
    else {
      uVar24 = (**(code **)(puStack_b8 + -0x7774))(7);
      if ((int)((ulonglong)uVar24 >> 0x20) == 0) {
        pcVar22 = *(code **)(puStack_b8 + -0x7774);
        if ((uint)uVar24 < 2) {
          uVar24 = (*pcVar22)(7);
          if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffa64;
          pcVar22 = *(code **)(puStack_b8 + -0x7774);
          if ((uint)uVar24 < 2) {
            unaff_s5 = (Image *)0x1;
            goto LAB_000ffa7c;
          }
        }
      }
      else {
LAB_000ffa64:
        pcVar22 = *(code **)(puStack_b8 + -0x7774);
      }
      uVar24 = (*pcVar22)(7);
      if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {
        (**(code **)(puStack_b8 + -0x7774))(7);
        unaff_s5 = extraout_v1_05;
      }
      else {
        unaff_s5 = (Image *)0x2;
      }
LAB_000ffa7c:
      iVar3 = *(int *)(puStack_b8 + -0x7e1c);
      pIVar11 = unaff_s5;
      unaff_s5 = pIVar18;
    }
    MStack_94 = MagickTrue;
    puStack_90 = &uStack_b0;
    ppIVar8 = &pIStack_a8;
    pIStack_a8 = pIVar5;
    ppIStack_a4 = ppIVar7;
    pIStack_a0 = pIVar10;
    puStack_9c = in_a3;
    pIStack_98 = pIVar20;
    (**(code **)(puStack_b8 + -0x7718))(iVar3 + -0x1ecc,ppIVar8,pIVar11,0);
    MVar4 = MStack_94;
  }
  if (pIStack_8c == (ImageView *)*piVar16) {
    return MVar4;
  }
  pcVar22 = *(code **)(puStack_b8 + -0x784c);
  pcVar23 = UpdateImageViewIterator;
  pIVar12 = pIStack_8c;
  (*pcVar22)();
  piVar17 = *(int **)(pcVar22 + 0x2a95f8);
  iStack_ec = *piVar17;
  pIStack_e8 = pIVar5;
  piStack_e4 = piVar16;
  ppIStack_e0 = ppIVar7;
  pIStack_dc = pIVar10;
  puStack_d8 = in_a3;
  pIStack_d4 = unaff_s5;
  pIStack_d0 = pIVar20;
  pcStack_cc = pcVar23;
  if (pIVar12 != (ImageView *)0x0) {
    if (pIVar12->signature == 0xabacadab) {
      ppIVar7 = ppIVar8;
      pIVar10 = pIVar11;
      if (ppIVar8 == (ImageView **)0x0) {
LAB_000ffcbc:
        MVar4 = MagickFalse;
      }
      else {
        pIVar20 = pIVar12->image;
        ppIVar7 = (ImageView **)0x1;
        pIVar10 = (Image *)pIVar12->exception;
        iVar3 = (**(code **)(pcVar22 + 0x2a9bec))(pIVar20);
        if (iVar3 == 0) goto LAB_000ffcbc;
        sVar19 = (pIVar12->extent).height;
        iVar15 = (pIVar12->extent).y;
        uStack_10c = 0;
        uStack_110 = 0;
        iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20);
        if (((iVar3 == 4) || (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)) &&
           ((iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 4 ||
            (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)))) {
          iVar15 = sVar19 - iVar15;
          (**(code **)(pcVar22 + 0x2a9504))(7);
          iVar3 = iVar15;
          if (iVar15 < 0) {
            iVar3 = iVar15 + 0x3f;
          }
          pIVar18 = (Image *)(iVar3 >> 6);
          if (extraout_v1_09 < (int)pIVar18) {
            (**(code **)(pcVar22 + 0x2a9504))(7);
            bVar1 = extraout_v1_12 < 2;
          }
          else {
            bVar1 = iVar15 < 0x80;
          }
          pIVar10 = (Image *)0x1;
          if ((bool)(bVar1 ^ 1)) {
            (**(code **)(pcVar22 + 0x2a9504))(7);
            if (extraout_v1_11 < (int)pIVar18) {
              (**(code **)(pcVar22 + 0x2a9504))(7);
              pIVar18 = extraout_v1_13;
            }
            goto LAB_000ffd68;
          }
          iVar3 = *(int *)(pcVar22 + 0x2a8e5c);
        }
        else {
          uVar24 = (**(code **)(pcVar22 + 0x2a9504))(7);
          if ((int)((ulonglong)uVar24 >> 0x20) == 0) {
            pcVar23 = *(code **)(pcVar22 + 0x2a9504);
            if ((uint)uVar24 < 2) {
              uVar24 = (*pcVar23)(7);
              if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffd50;
              pcVar23 = *(code **)(pcVar22 + 0x2a9504);
              if ((uint)uVar24 < 2) {
                pIVar18 = (Image *)0x1;
                goto LAB_000ffd68;
              }
            }
          }
          else {
LAB_000ffd50:
            pcVar23 = *(code **)(pcVar22 + 0x2a9504);
          }
          uVar24 = (*pcVar23)(7);
          if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {
            (**(code **)(pcVar22 + 0x2a9504))(7);
            pIVar18 = extraout_v1_10;
          }
          else {
            pIVar18 = (Image *)0x2;
          }
LAB_000ffd68:
          iVar3 = *(int *)(pcVar22 + 0x2a8e5c);
          pIVar10 = pIVar18;
        }
        MStack_f4 = MagickTrue;
        puStack_f0 = &uStack_110;
        ppIVar7 = &pIStack_104;
        pIStack_104 = pIVar12;
        ppIStack_100 = ppIVar8;
        pIStack_fc = pIVar11;
        pIStack_f8 = pIVar20;
        (**(code **)(pcVar22 + 0x2a9560))(iVar3 + -0x1ca0,ppIVar7,pIVar10,0);
        MVar4 = MStack_f4;
      }
      iVar3 = iStack_ec;
      if (iStack_ec == *piVar17) {
        return MVar4;
      }
      goto LAB_000fff14;
    }
    (**(code **)(pcVar22 + 0x2a99d0))
              (*(int *)(pcVar22 + 0x2a8cb0) + 0x3930,*(int *)(pcVar22 + 0x2a8cac) + -0x5168,0x481,
               *(int *)(pcVar22 + 0x2a8cac) + -0x5020);
  }
  pIVar10 = (Image *)0x480;
  ppIVar7 = (ImageView **)(*(int *)(pcVar22 + 0x2a8cac) + -0x5168);
  iVar3 = *(int *)(pcVar22 + 0x2a8cac) + -0x50fc;
  (**(code **)(pcVar22 + 0x2a99d0))();
LAB_000fff14:
  pcVar22 = *(code **)(pcVar22 + 0x2a942c);
  (*pcVar22)();
  if (*(int *)(iVar3 + 700) == 0) {
    (**(code **)(pcVar22 + 0x2a8df4))();
  }
  pIVar5 = ppIVar7[1];
  iVar15 = 0;
  if (0 < (int)pIVar5) {
    do {
      iVar6 = (**(code **)(pcVar22 + 0x2a8e18))
                        (iVar3,ppIVar7[2],(int)&ppIVar7[3]->description + iVar15,*ppIVar7,1,pIVar10)
      ;
      if (iVar6 == 0) {
        return MagickFalse;
      }
      pIVar12 = *ppIVar7;
      pIVar5 = (ImageView *)0x0;
      if (0 < (int)pIVar12) {
        iVar14 = *(int *)(iVar3 + 0x2d0);
        iVar9 = *(int *)(iVar3 + 0x2c0);
        iVar13 = *(int *)(iVar14 + 0x34);
        do {
          pIVar5 = (ImageView *)((int)&pIVar5->description + 1);
          if (iVar13 != 0) {
            *(undefined4 *)(iVar6 + *(int *)(iVar14 + 0x38) * 4) = 0;
          }
          iVar6 = iVar6 + iVar9 * 4;
        } while (pIVar5 != pIVar12);
      }
      iVar6 = (**(code **)(pcVar22 + 0x2a92c4))(iVar3,pIVar10);
      if (iVar6 == 0) {
        return MagickFalse;
      }
      iVar15 = iVar15 + 1;
      pIVar5 = (ImageView *)(uint)(iVar15 < (int)ppIVar7[1]);
    } while (pIVar5 != (ImageView *)0x0);
  }
  return (MagickBooleanType)pIVar5;
}



undefined *
SetImageViewIterator(undefined *param_1,undefined **param_2,undefined *param_3,undefined *param_4)

{
  bool bVar1;
  int iVar2;
  undefined *puVar3;
  int iVar4;
  int extraout_v1;
  undefined *extraout_v1_00;
  int extraout_v1_01;
  int extraout_v1_02;
  undefined *extraout_v1_03;
  int extraout_v1_04;
  undefined *extraout_v1_05;
  int extraout_v1_06;
  int extraout_v1_07;
  undefined *extraout_v1_08;
  int extraout_v1_09;
  undefined *extraout_v1_10;
  int extraout_v1_11;
  int extraout_v1_12;
  undefined *extraout_v1_13;
  undefined **ppuVar5;
  undefined **ppuVar6;
  int iVar7;
  undefined *puVar8;
  undefined *puVar9;
  undefined *puVar10;
  int iVar11;
  int iVar12;
  undefined *unaff_s0;
  int iVar13;
  int *piVar14;
  int *piVar15;
  undefined **unaff_s2;
  undefined4 unaff_s3;
  undefined4 uVar16;
  undefined *unaff_s4;
  undefined *unaff_s5;
  undefined *puVar17;
  undefined *unaff_s6;
  undefined *puVar18;
  code *pcVar19;
  code *pcVar20;
  undefined8 uVar21;
  undefined4 uStack_110;
  undefined4 uStack_10c;
  undefined *puStack_104;
  undefined **ppuStack_100;
  undefined *puStack_fc;
  undefined4 uStack_f8;
  undefined *puStack_f4;
  undefined4 *puStack_f0;
  int iStack_ec;
  undefined *puStack_e8;
  int *piStack_e4;
  undefined **ppuStack_e0;
  undefined *puStack_dc;
  undefined *puStack_d8;
  undefined *puStack_d4;
  undefined *puStack_d0;
  code *pcStack_cc;
  undefined *puStack_b8;
  undefined4 uStack_b0;
  undefined4 uStack_ac;
  undefined *puStack_a8;
  undefined **ppuStack_a4;
  undefined *puStack_a0;
  undefined *puStack_9c;
  undefined *puStack_98;
  undefined *puStack_94;
  undefined4 *puStack_90;
  undefined *puStack_8c;
  undefined *puStack_88;
  undefined *puStack_84;
  undefined **ppuStack_80;
  undefined4 uStack_7c;
  undefined *puStack_78;
  undefined *puStack_74;
  undefined *puStack_70;
  undefined4 local_48;
  undefined4 local_44;
  undefined *local_3c;
  undefined **local_38;
  undefined *local_34;
  undefined4 local_30;
  undefined *local_2c;
  undefined4 *local_28;
  undefined *local_24;
  
  puVar9 = PTR___stack_chk_guard_003a9230;
  local_24 = *(undefined **)PTR___stack_chk_guard_003a9230;
  if (param_1 == (undefined *)0x0) {
LAB_000ff904:
    puVar8 = (undefined *)0x37a;
    param_4 = PTR_s_t_to_left_003a88e4 + -0x4fec;
    ppuVar5 = (undefined **)(PTR_s_t_to_left_003a88e4 + -0x5168);
    puVar10 = PTR_s_t_to_left_003a88e4 + -0x5080;
    (*(code *)PTR___assert_fail_003a9608)();
  }
  else {
    unaff_s0 = param_1;
    if (*(int *)(param_1 + 0x24) != -0x54535255) {
      (*(code *)PTR___assert_fail_003a9608)
                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,
                 PTR_s_t_to_left_003a88e4 + -0x4fec);
      goto LAB_000ff904;
    }
    ppuVar5 = param_2;
    puVar8 = param_3;
    if (param_2 == (undefined **)0x0) {
LAB_000ff6d0:
      puVar3 = (undefined *)0x0;
      param_3 = unaff_s4;
    }
    else {
      unaff_s3 = *(undefined4 *)(param_1 + 0x14);
      ppuVar5 = (undefined **)0x1;
      puVar8 = *(undefined **)(param_1 + 0x1c);
      iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);
      unaff_s4 = param_3;
      if (iVar2 == 0) goto LAB_000ff6d0;
      unaff_s5 = *(undefined **)(param_1 + 8);
      unaff_s6 = *(undefined **)(param_1 + 0x10);
      local_44 = 0;
      local_48 = 0;
      iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);
      if (((iVar2 == 4) ||
          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&
         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||
          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))) {
        iVar13 = (int)unaff_s5 - (int)unaff_s6;
        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
        iVar2 = iVar13;
        if (iVar13 < 0) {
          iVar2 = iVar13 + 0x3f;
        }
        unaff_s6 = (undefined *)(iVar2 >> 6);
        if (extraout_v1 < (int)unaff_s6) {
          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
          bVar1 = extraout_v1_02 < 2;
        }
        else {
          bVar1 = iVar13 < 0x80;
        }
        unaff_s5 = (undefined *)(bVar1 ^ 1);
        puVar8 = (undefined *)0x1;
        if ((unaff_s5 != (undefined *)0x0) &&
           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,
           extraout_v1_01 < (int)unaff_s6)) {
          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
          puVar8 = extraout_v1_03;
          unaff_s6 = extraout_v1_03;
        }
      }
      else {
        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {
          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {
            puVar8 = (undefined *)0x1;
            goto LAB_000ff780;
          }
        }
        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {
          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
          puVar8 = extraout_v1_00;
        }
        else {
          puVar8 = (undefined *)0x2;
        }
      }
LAB_000ff780:
      param_4 = (undefined *)0x0;
      local_2c = (undefined *)0x1;
      local_28 = &local_48;
      ppuVar5 = &local_3c;
      local_3c = param_1;
      local_38 = param_2;
      local_34 = param_3;
      local_30 = unaff_s3;
      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);
      puVar3 = local_2c;
    }
    puVar10 = local_24;
    unaff_s2 = param_2;
    unaff_s4 = param_3;
    if (local_24 == *(undefined **)puVar9) {
      return puVar3;
    }
  }
  puVar3 = PTR___stack_chk_fail_003a9064;
  (*(code *)PTR___stack_chk_fail_003a9064)();
  puStack_b8 = puVar3 + 0x2b0f7c;
  puStack_84 = puVar9;
  piVar14 = *(int **)(puVar3 + 0x2a98fc);
  puStack_8c = (undefined *)*piVar14;
  puStack_88 = unaff_s0;
  ppuStack_80 = unaff_s2;
  uStack_7c = unaff_s3;
  puStack_78 = unaff_s4;
  puStack_74 = unaff_s5;
  puStack_70 = unaff_s6;
  if (puVar10 == (undefined *)0x0) {
    puVar9 = (undefined *)
             (**(code **)(puVar3 + 0x2a9cd4))
                       (*(int *)(puVar3 + 0x2a8fb0) + -0x50fc,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,
                        0x3fa,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);
    return puVar9;
  }
  if (*(int *)(puVar10 + 0x24) != -0x54535255) {
    puVar9 = (undefined *)
             (**(code **)(puVar3 + 0x2a9cd4))
                       (*(int *)(puVar3 + 0x2a8fb4) + 0x3930,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,
                        0x3fb,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);
    return puVar9;
  }
  ppuVar6 = ppuVar5;
  puVar9 = puVar8;
  puVar18 = unaff_s6;
  if (puVar8 == (undefined *)0x0) {
LAB_000ff9c8:
    puVar3 = (undefined *)0x0;
    ppuVar5 = unaff_s2;
    param_4 = unaff_s4;
  }
  else {
    puVar17 = ppuVar5[5];
    ppuVar6 = (undefined **)0x1;
    puVar9 = ppuVar5[7];
    puVar18 = *(undefined **)(puVar10 + 0x14);
    iVar2 = (**(code **)(puVar3 + 0x2a9ef0))(puVar17);
    unaff_s2 = ppuVar5;
    unaff_s4 = param_4;
    unaff_s5 = puVar17;
    if (iVar2 == 0) goto LAB_000ff9c8;
    iVar13 = *(int *)(puVar10 + 8);
    iVar4 = *(int *)(puVar10 + 0x10);
    uStack_ac = 0;
    uStack_b0 = 0;
    iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18);
    if (((iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)) &&
       ((iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||
        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)))) {
      iVar13 = iVar13 - iVar4;
      (**(code **)(puStack_b8 + -0x7774))(7);
      iVar2 = iVar13;
      if (iVar13 < 0) {
        iVar2 = iVar13 + 0x3f;
      }
      unaff_s5 = (undefined *)(iVar2 >> 6);
      if (extraout_v1_04 < (int)unaff_s5) {
        (**(code **)(puStack_b8 + -0x7774))(7);
        bVar1 = extraout_v1_07 < 2;
      }
      else {
        bVar1 = iVar13 < 0x80;
      }
      puVar9 = (undefined *)0x1;
      if ((bool)(bVar1 ^ 1)) {
        (**(code **)(puStack_b8 + -0x7774))(7);
        puVar17 = unaff_s5;
        if (extraout_v1_06 < (int)unaff_s5) {
          (**(code **)(puStack_b8 + -0x7774))(7);
          unaff_s5 = extraout_v1_08;
          puVar17 = extraout_v1_08;
        }
        goto LAB_000ffa7c;
      }
      iVar2 = *(int *)(puStack_b8 + -0x7e1c);
    }
    else {
      uVar21 = (**(code **)(puStack_b8 + -0x7774))(7);
      if ((int)((ulonglong)uVar21 >> 0x20) == 0) {
        pcVar19 = *(code **)(puStack_b8 + -0x7774);
        if ((uint)uVar21 < 2) {
          uVar21 = (*pcVar19)(7);
          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;
          pcVar19 = *(code **)(puStack_b8 + -0x7774);
          if ((uint)uVar21 < 2) {
            unaff_s5 = (undefined *)0x1;
            goto LAB_000ffa7c;
          }
        }
      }
      else {
LAB_000ffa64:
        pcVar19 = *(code **)(puStack_b8 + -0x7774);
      }
      uVar21 = (*pcVar19)(7);
      if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {
        (**(code **)(puStack_b8 + -0x7774))(7);
        unaff_s5 = extraout_v1_05;
      }
      else {
        unaff_s5 = (undefined *)0x2;
      }
LAB_000ffa7c:
      iVar2 = *(int *)(puStack_b8 + -0x7e1c);
      puVar9 = unaff_s5;
      unaff_s5 = puVar17;
    }
    puStack_94 = (undefined *)0x1;
    puStack_90 = &uStack_b0;
    ppuVar6 = &puStack_a8;
    puStack_a8 = puVar10;
    ppuStack_a4 = ppuVar5;
    puStack_a0 = puVar8;
    puStack_9c = param_4;
    puStack_98 = puVar18;
    (**(code **)(puStack_b8 + -0x7718))(iVar2 + -0x1ecc,ppuVar6,puVar9,0);
    puVar3 = puStack_94;
  }
  if (puStack_8c == (undefined *)*piVar14) {
    return puVar3;
  }
  pcVar19 = *(code **)(puStack_b8 + -0x784c);
  pcVar20 = UpdateImageViewIterator;
  puVar3 = puStack_8c;
  (*pcVar19)();
  piVar15 = *(int **)(pcVar19 + 0x2a95f8);
  iStack_ec = *piVar15;
  puStack_e8 = puVar10;
  piStack_e4 = piVar14;
  ppuStack_e0 = ppuVar5;
  puStack_dc = puVar8;
  puStack_d8 = param_4;
  puStack_d4 = unaff_s5;
  puStack_d0 = puVar18;
  pcStack_cc = pcVar20;
  if (puVar3 != (undefined *)0x0) {
    if (*(int *)(puVar3 + 0x24) == -0x54535255) {
      ppuVar5 = ppuVar6;
      puVar10 = puVar9;
      if (ppuVar6 == (undefined **)0x0) {
LAB_000ffcbc:
        puVar9 = (undefined *)0x0;
      }
      else {
        uVar16 = *(undefined4 *)(puVar3 + 0x14);
        ppuVar5 = (undefined **)0x1;
        puVar10 = *(undefined **)(puVar3 + 0x1c);
        iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);
        if (iVar2 == 0) goto LAB_000ffcbc;
        iVar13 = *(int *)(puVar3 + 8);
        iVar4 = *(int *)(puVar3 + 0x10);
        uStack_10c = 0;
        uStack_110 = 0;
        iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);
        if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&
           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||
            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {
          iVar13 = iVar13 - iVar4;
          (**(code **)(pcVar19 + 0x2a9504))(7);
          iVar2 = iVar13;
          if (iVar13 < 0) {
            iVar2 = iVar13 + 0x3f;
          }
          puVar8 = (undefined *)(iVar2 >> 6);
          if (extraout_v1_09 < (int)puVar8) {
            (**(code **)(pcVar19 + 0x2a9504))(7);
            bVar1 = extraout_v1_12 < 2;
          }
          else {
            bVar1 = iVar13 < 0x80;
          }
          puVar10 = (undefined *)0x1;
          if ((bool)(bVar1 ^ 1)) {
            (**(code **)(pcVar19 + 0x2a9504))(7);
            if (extraout_v1_11 < (int)puVar8) {
              (**(code **)(pcVar19 + 0x2a9504))(7);
              puVar8 = extraout_v1_13;
            }
            goto LAB_000ffd68;
          }
          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);
        }
        else {
          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);
          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {
            pcVar20 = *(code **)(pcVar19 + 0x2a9504);
            if ((uint)uVar21 < 2) {
              uVar21 = (*pcVar20)(7);
              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;
              pcVar20 = *(code **)(pcVar19 + 0x2a9504);
              if ((uint)uVar21 < 2) {
                puVar8 = (undefined *)0x1;
                goto LAB_000ffd68;
              }
            }
          }
          else {
LAB_000ffd50:
            pcVar20 = *(code **)(pcVar19 + 0x2a9504);
          }
          uVar21 = (*pcVar20)(7);
          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {
            (**(code **)(pcVar19 + 0x2a9504))(7);
            puVar8 = extraout_v1_10;
          }
          else {
            puVar8 = (undefined *)0x2;
          }
LAB_000ffd68:
          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);
          puVar10 = puVar8;
        }
        puStack_f4 = (undefined *)0x1;
        puStack_f0 = &uStack_110;
        ppuVar5 = &puStack_104;
        puStack_104 = puVar3;
        ppuStack_100 = ppuVar6;
        puStack_fc = puVar9;
        uStack_f8 = uVar16;
        (**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);
        puVar9 = puStack_f4;
      }
      iVar2 = iStack_ec;
      if (iStack_ec == *piVar15) {
        return puVar9;
      }
      goto LAB_000fff14;
    }
    (**(code **)(pcVar19 + 0x2a99d0))
              (*(int *)(pcVar19 + 0x2a8cb0) + 0x3930,*(int *)(pcVar19 + 0x2a8cac) + -0x5168,0x481,
               *(int *)(pcVar19 + 0x2a8cac) + -0x5020);
  }
  puVar10 = (undefined *)0x480;
  ppuVar5 = (undefined **)(*(int *)(pcVar19 + 0x2a8cac) + -0x5168);
  iVar2 = *(int *)(pcVar19 + 0x2a8cac) + -0x50fc;
  (**(code **)(pcVar19 + 0x2a99d0))();
LAB_000fff14:
  pcVar19 = *(code **)(pcVar19 + 0x2a942c);
  (*pcVar19)();
  if (*(int *)(iVar2 + 700) == 0) {
    (**(code **)(pcVar19 + 0x2a8df4))();
  }
  puVar9 = ppuVar5[1];
  iVar13 = 0;
  if (0 < (int)puVar9) {
    do {
      iVar4 = (**(code **)(pcVar19 + 0x2a8e18))
                        (iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10);
      if (iVar4 == 0) {
        return (undefined *)0x0;
      }
      puVar8 = *ppuVar5;
      puVar9 = (undefined *)0x0;
      if (0 < (int)puVar8) {
        iVar12 = *(int *)(iVar2 + 0x2d0);
        iVar7 = *(int *)(iVar2 + 0x2c0);
        iVar11 = *(int *)(iVar12 + 0x34);
        do {
          puVar9 = puVar9 + 1;
          if (iVar11 != 0) {
            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;
          }
          iVar4 = iVar4 + iVar7 * 4;
        } while (puVar9 != puVar8);
      }
      iVar4 = (**(code **)(pcVar19 + 0x2a92c4))(iVar2,puVar10);
      if (iVar4 == 0) {
        return (undefined *)0x0;
      }
      iVar13 = iVar13 + 1;
      puVar9 = (undefined *)(uint)(iVar13 < (int)ppuVar5[1]);
    } while (puVar9 != (undefined *)0x0);
  }
  return puVar9;
}


lui gp,0x2b
addiu gp,gp,0x1264
addu gp,gp,t9
addiu sp,sp,-0x60
sw s1,0x44(sp)
lw s1,-0x7680(gp)
sw gp,0x10(sp)
sw ra,0x5c(sp)
sw s6,0x58(sp)
sw s5,0x54(sp)
sw s4,0x50(sp)
sw s3,0x4c(sp)
sw s2,0x48(sp)
sw s0,0x40(sp)
lw v0,0x0(s1)
sw v0,0x3c(sp)
beq a0,zero,0x000ff904
_lui v0,0xabac
lw v1,0x24(a0)
ori v0,v0,0xadab
bne v1,v0,0x000ff8e0
_or s0,a0,zero
beq a1,zero,0x000ff6d0
_or s2,a1,zero
lw s3,0x14(a0)
or s4,a2,zero
lw t9,-0x708c(gp)
li a1,0x1
lw a2,0x1c(a0)
jalr t9
_or a0,s3,zero
bne v0,zero,0x000ff708
_lw gp,0x10(sp)
or v0,zero,zero
lw a0,0x3c(sp)
lw v1,0x0(s1)
bne a0,v1,0x000ff928
_lw ra,0x5c(sp)
lw s6,0x58(sp)
lw s5,0x54(sp)
lw s4,0x50(sp)
lw s3,0x4c(sp)
lw s2,0x48(sp)
lw s1,0x44(sp)
lw s0,0x40(sp)
jr ra
_addiu sp,sp,0x60
lw t9,-0x73fc(gp)
or v1,zero,zero
or v0,zero,zero
lw s5,0x8(s0)
lw s6,0x10(s0)
or a0,s3,zero
sw v1,0x1c(sp)
jalr t9
_sw v0,0x18(sp)
li v1,0x4
beq v0,v1,0x000ff7c0
_lw gp,0x10(sp)
lw t9,-0x73fc(gp)
jalr t9
_or a0,s3,zero
li v1,0x3
beq v0,v1,0x000ff7c0
_lw gp,0x10(sp)
lw t9,-0x7774(gp)
jalr t9
_li a0,0x7
beq v0,zero,0x000ff8b0
_lw gp,0x10(sp)
lw t9,-0x7774(gp)
jalr t9
_li a0,0x7
beq v0,zero,0x000ff834
_lw gp,0x10(sp)
li a2,0x2
lw a0,-0x7e1c(gp)
li v0,0x1
lw t9,-0x7718(gp)
or a3,zero,zero
sw v0,0x34(sp)
addiu v0,sp,0x18
addiu a1,sp,0x24
sw s3,0x30(sp)
addiu a0,a0,-0x20c0
sw v0,0x38(sp)
sw s4,0x2c(sp)
sw s2,0x28(sp)
jalr t9
_sw s0,0x24(sp)
lw gp,0x10(sp)
b 0x000ff6d4
_lw v0,0x34(sp)
lw t9,-0x73fc(gp)
jalr t9
_or a0,s3,zero
li v1,0x4
beq v0,v1,0x000ff7f0
_lw gp,0x10(sp)
lw t9,-0x73fc(gp)
jalr t9
_or a0,s3,zero
li v1,0x3
bne v0,v1,0x000ff750
_lw gp,0x10(sp)
lw t9,-0x7774(gp)
li a0,0x7
jalr t9
_subu s5,s5,s6
or a2,s5,zero
bltz s5,0x000ff854
_lw gp,0x10(sp)
sra s6,a2,0x6
slt v1,v1,s6
bne v1,zero,0x000ff87c
_lw t9,-0x7774(gp)
slti s5,s5,0x80
xori s5,s5,0x1
bne s5,zero,0x000ff85c
_li a2,0x1
b 0x000ff780
_lw a0,-0x7e1c(gp)
sltiu v1,v1,0x2
beq v1,zero,0x000ff778
_lw t9,-0x7774(gp)
jalr t9
_li a0,0x7
lw gp,0x10(sp)
b 0x000ff77c
_or a2,v1,zero
b 0x000ff80c
_addiu a2,s5,0x3f
lw t9,-0x7774(gp)
jalr t9
_li a0,0x7
slt v1,v1,s6
bne v1,zero,0x000ff894
_lw gp,0x10(sp)
b 0x000ff77c
_or a2,s6,zero
jalr t9
_li a0,0x7
slti s5,v1,0x2
lw gp,0x10(sp)
b 0x000ff824
_xori s5,s5,0x1
lw t9,-0x7774(gp)
jalr t9
_li a0,0x7
or s6,v1,zero
lw gp,0x10(sp)
b 0x000ff77c
_or a2,s6,zero
sltiu v1,v1,0x2
beq v1,zero,0x000ff768
_lw t9,-0x7774(gp)
jalr t9
_li a0,0x7
bne v0,zero,0x000ff764
_lw gp,0x10(sp)
sltiu v1,v1,0x2
beq v1,zero,0x000ff768
_lw t9,-0x7774(gp)
b 0x000ff77c
_li a2,0x1
lw a3,-0x7fcc(gp)
li a2,0x37b
lw a1,-0x7fcc(gp)
lw a0,-0x7fcc(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,-0x4fec
addiu a1,a1,-0x5168
jalr t9
_addiu a0,a0,-0x505c
lw a3,-0x7fcc(gp)
li a2,0x37a
lw a1,-0x7fcc(gp)
lw a0,-0x7fcc(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,-0x4fec
addiu a1,a1,-0x5168
jalr t9
_addiu a0,a0,-0x5080
lw t9,-0x784c(gp)
jalr t9
_nop
(translation_unit "undefined *\nSetImageViewIterator(undefined *param_1,undefined **param_2,undefined *param_3,undefined *param_4)\n\n{\n  bool bVar1;\n  int iVar2;\n  undefined *puVar3;\n  int iVar4;\n  int extraout_v1;\n  undefined *extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  undefined *extraout_v1_03;\n  int extraout_v1_04;\n  undefined *extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  undefined *extraout_v1_08;\n  int extraout_v1_09;\n  undefined *extraout_v1_10;\n  int extraout_v1_11;\n  int extraout_v1_12;\n  undefined *extraout_v1_13;\n  undefined **ppuVar5;\n  undefined **ppuVar6;\n  int iVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  int iVar11;\n  int iVar12;\n  undefined *unaff_s0;\n  int iVar13;\n  int *piVar14;\n  int *piVar15;\n  undefined **unaff_s2;\n  undefined4 unaff_s3;\n  undefined4 uVar16;\n  undefined *unaff_s4;\n  undefined *unaff_s5;\n  undefined *puVar17;\n  undefined *unaff_s6;\n  undefined *puVar18;\n  code *pcVar19;\n  code *pcVar20;\n  undefined8 uVar21;\n  undefined4 uStack_110;\n  undefined4 uStack_10c;\n  undefined *puStack_104;\n  undefined **ppuStack_100;\n  undefined *puStack_fc;\n  undefined4 uStack_f8;\n  undefined *puStack_f4;\n  undefined4 *puStack_f0;\n  int iStack_ec;\n  undefined *puStack_e8;\n  int *piStack_e4;\n  undefined **ppuStack_e0;\n  undefined *puStack_dc;\n  undefined *puStack_d8;\n  undefined *puStack_d4;\n  undefined *puStack_d0;\n  code *pcStack_cc;\n  undefined *puStack_b8;\n  undefined4 uStack_b0;\n  undefined4 uStack_ac;\n  undefined *puStack_a8;\n  undefined **ppuStack_a4;\n  undefined *puStack_a0;\n  undefined *puStack_9c;\n  undefined *puStack_98;\n  undefined *puStack_94;\n  undefined4 *puStack_90;\n  undefined *puStack_8c;\n  undefined *puStack_88;\n  undefined *puStack_84;\n  undefined **ppuStack_80;\n  undefined4 uStack_7c;\n  undefined *puStack_78;\n  undefined *puStack_74;\n  undefined *puStack_70;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined *local_3c;\n  undefined **local_38;\n  undefined *local_34;\n  undefined4 local_30;\n  undefined *local_2c;\n  undefined4 *local_28;\n  undefined *local_24;\n  \n  puVar9 = PTR___stack_chk_guard_003a9230;\n  local_24 = *(undefined **)PTR___stack_chk_guard_003a9230;\n  if (param_1 == (undefined *)0x0) {\nLAB_000ff904:\n    puVar8 = (undefined *)0x37a;\n    param_4 = PTR_s_t_to_left_003a88e4 + -0x4fec;\n    ppuVar5 = (undefined **)(PTR_s_t_to_left_003a88e4 + -0x5168);\n    puVar10 = PTR_s_t_to_left_003a88e4 + -0x5080;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }\n  else {\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x24) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);\n      goto LAB_000ff904;\n    }\n    ppuVar5 = param_2;\n    puVar8 = param_3;\n    if (param_2 == (undefined **)0x0) {\nLAB_000ff6d0:\n      puVar3 = (undefined *)0x0;\n      param_3 = unaff_s4;\n    }\n    else {\n      unaff_s3 = *(undefined4 *)(param_1 + 0x14);\n      ppuVar5 = (undefined **)0x1;\n      puVar8 = *(undefined **)(param_1 + 0x1c);\n      iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = param_3;\n      if (iVar2 == 0) goto LAB_000ff6d0;\n      unaff_s5 = *(undefined **)(param_1 + 8);\n      unaff_s6 = *(undefined **)(param_1 + 0x10);\n      local_44 = 0;\n      local_48 = 0;\n      iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))) {\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }\nLAB_000ff780:\n      param_4 = (undefined *)0x0;\n      local_2c = (undefined *)0x1;\n      local_28 = &local_48;\n      ppuVar5 = &local_3c;\n      local_3c = param_1;\n      local_38 = param_2;\n      local_34 = param_3;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      puVar3 = local_2c;\n    }\n    puVar10 = local_24;\n    unaff_s2 = param_2;\n    unaff_s4 = param_3;\n    if (local_24 == *(undefined **)puVar9) {\n      return puVar3;\n    }\n  }\n  puVar3 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  puStack_b8 = puVar3 + 0x2b0f7c;\n  puStack_84 = puVar9;\n  piVar14 = *(int **)(puVar3 + 0x2a98fc);\n  puStack_8c = (undefined *)*piVar14;\n  puStack_88 = unaff_s0;\n  ppuStack_80 = unaff_s2;\n  uStack_7c = unaff_s3;\n  puStack_78 = unaff_s4;\n  puStack_74 = unaff_s5;\n  puStack_70 = unaff_s6;\n  if (puVar10 == (undefined *)0x0) {\n    puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb0) + -0x50fc,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fa,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);\n    return puVar9;\n  }\n  if (*(int *)(puVar10 + 0x24) != -0x54535255) {\n    puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb4) + 0x3930,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fb,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);\n    return puVar9;\n  }\n  ppuVar6 = ppuVar5;\n  puVar9 = puVar8;\n  puVar18 = unaff_s6;\n  if (puVar8 == (undefined *)0x0) {\nLAB_000ff9c8:\n    puVar3 = (undefined *)0x0;\n    ppuVar5 = unaff_s2;\n    param_4 = unaff_s4;\n  }\n  else {\n    puVar17 = ppuVar5[5];\n    ppuVar6 = (undefined **)0x1;\n    puVar9 = ppuVar5[7];\n    puVar18 = *(undefined **)(puVar10 + 0x14);\n    iVar2 = (**(code **)(puVar3 + 0x2a9ef0))(puVar17);\n    unaff_s2 = ppuVar5;\n    unaff_s4 = param_4;\n    unaff_s5 = puVar17;\n    if (iVar2 == 0) goto LAB_000ff9c8;\n    iVar13 = *(int *)(puVar10 + 8);\n    iVar4 = *(int *)(puVar10 + 0x10);\n    uStack_ac = 0;\n    uStack_b0 = 0;\n    iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18);\n    if (((iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)) &&\n       ((iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)))) {\n      iVar13 = iVar13 - iVar4;\n      (**(code **)(puStack_b8 + -0x7774))(7);\n      iVar2 = iVar13;\n      if (iVar13 < 0) {\n        iVar2 = iVar13 + 0x3f;\n      }\n      unaff_s5 = (undefined *)(iVar2 >> 6);\n      if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar13 < 0x80;\n      }\n      puVar9 = (undefined *)0x1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        puVar17 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n    }\n    else {\n      uVar21 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar21 = (*pcVar19)(7);\n      if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (undefined *)0x2;\n      }\nLAB_000ffa7c:\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n      puVar9 = unaff_s5;\n      unaff_s5 = puVar17;\n    }\n    puStack_94 = (undefined *)0x1;\n    puStack_90 = &uStack_b0;\n    ppuVar6 = &puStack_a8;\n    puStack_a8 = puVar10;\n    ppuStack_a4 = ppuVar5;\n    puStack_a0 = puVar8;\n    puStack_9c = param_4;\n    puStack_98 = puVar18;\n    (**(code **)(puStack_b8 + -0x7718))(iVar2 + -0x1ecc,ppuVar6,puVar9,0);\n    puVar3 = puStack_94;\n  }\n  if (puStack_8c == (undefined *)*piVar14) {\n    return puVar3;\n  }\n  pcVar19 = *(code **)(puStack_b8 + -0x784c);\n  pcVar20 = UpdateImageViewIterator;\n  puVar3 = puStack_8c;\n  (*pcVar19)();\n  piVar15 = *(int **)(pcVar19 + 0x2a95f8);\n  iStack_ec = *piVar15;\n  puStack_e8 = puVar10;\n  piStack_e4 = piVar14;\n  ppuStack_e0 = ppuVar5;\n  puStack_dc = puVar8;\n  puStack_d8 = param_4;\n  puStack_d4 = unaff_s5;\n  puStack_d0 = puVar18;\n  pcStack_cc = pcVar20;\n  if (puVar3 != (undefined *)0x0) {\n    if (*(int *)(puVar3 + 0x24) == -0x54535255) {\n      ppuVar5 = ppuVar6;\n      puVar10 = puVar9;\n      if (ppuVar6 == (undefined **)0x0) {\nLAB_000ffcbc:\n        puVar9 = (undefined *)0x0;\n      }\n      else {\n        uVar16 = *(undefined4 *)(puVar3 + 0x14);\n        ppuVar5 = (undefined **)0x1;\n        puVar10 = *(undefined **)(puVar3 + 0x1c);\n        iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);\n        if (iVar2 == 0) goto LAB_000ffcbc;\n        iVar13 = *(int *)(puVar3 + 8);\n        iVar4 = *(int *)(puVar3 + 0x10);\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);\n        if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }\n        puStack_f4 = (undefined *)0x1;\n        puStack_f0 = &uStack_110;\n        ppuVar5 = &puStack_104;\n        puStack_104 = puVar3;\n        ppuStack_100 = ppuVar6;\n        puStack_fc = puVar9;\n        uStack_f8 = uVar16;\n        (**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);\n        puVar9 = puStack_f4;\n      }\n      iVar2 = iStack_ec;\n      if (iStack_ec == *piVar15) {\n        return puVar9;\n      }\n      goto LAB_000fff14;\n    }\n    (**(code **)(pcVar19 + 0x2a99d0))\n              (*(int *)(pcVar19 + 0x2a8cb0) + 0x3930,*(int *)(pcVar19 + 0x2a8cac) + -0x5168,0x481,\n               *(int *)(pcVar19 + 0x2a8cac) + -0x5020);\n  }\n  puVar10 = (undefined *)0x480;\n  ppuVar5 = (undefined **)(*(int *)(pcVar19 + 0x2a8cac) + -0x5168);\n  iVar2 = *(int *)(pcVar19 + 0x2a8cac) + -0x50fc;\n  (**(code **)(pcVar19 + 0x2a99d0))();\nLAB_000fff14:\n  pcVar19 = *(code **)(pcVar19 + 0x2a942c);\n  (*pcVar19)();\n  if (*(int *)(iVar2 + 700) == 0) {\n    (**(code **)(pcVar19 + 0x2a8df4))();\n  }\n  puVar9 = ppuVar5[1];\n  iVar13 = 0;\n  if (0 < (int)puVar9) {\n    do {\n      iVar4 = (**(code **)(pcVar19 + 0x2a8e18))\n                        (iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      puVar8 = *ppuVar5;\n      puVar9 = (undefined *)0x0;\n      if (0 < (int)puVar8) {\n        iVar12 = *(int *)(iVar2 + 0x2d0);\n        iVar7 = *(int *)(iVar2 + 0x2c0);\n        iVar11 = *(int *)(iVar12 + 0x34);\n        do {\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        } while (puVar9 != puVar8);\n      }\n      iVar4 = (**(code **)(pcVar19 + 0x2a92c4))(iVar2,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      iVar13 = iVar13 + 1;\n      puVar9 = (undefined *)(uint)(iVar13 < (int)ppuVar5[1]);\n    } while (puVar9 != (undefined *)0x0);\n  }\n  return puVar9;\n}\n\n" (function_definition "undefined *\nSetImageViewIterator(undefined *param_1,undefined **param_2,undefined *param_3,undefined *param_4)\n\n{\n  bool bVar1;\n  int iVar2;\n  undefined *puVar3;\n  int iVar4;\n  int extraout_v1;\n  undefined *extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  undefined *extraout_v1_03;\n  int extraout_v1_04;\n  undefined *extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  undefined *extraout_v1_08;\n  int extraout_v1_09;\n  undefined *extraout_v1_10;\n  int extraout_v1_11;\n  int extraout_v1_12;\n  undefined *extraout_v1_13;\n  undefined **ppuVar5;\n  undefined **ppuVar6;\n  int iVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  int iVar11;\n  int iVar12;\n  undefined *unaff_s0;\n  int iVar13;\n  int *piVar14;\n  int *piVar15;\n  undefined **unaff_s2;\n  undefined4 unaff_s3;\n  undefined4 uVar16;\n  undefined *unaff_s4;\n  undefined *unaff_s5;\n  undefined *puVar17;\n  undefined *unaff_s6;\n  undefined *puVar18;\n  code *pcVar19;\n  code *pcVar20;\n  undefined8 uVar21;\n  undefined4 uStack_110;\n  undefined4 uStack_10c;\n  undefined *puStack_104;\n  undefined **ppuStack_100;\n  undefined *puStack_fc;\n  undefined4 uStack_f8;\n  undefined *puStack_f4;\n  undefined4 *puStack_f0;\n  int iStack_ec;\n  undefined *puStack_e8;\n  int *piStack_e4;\n  undefined **ppuStack_e0;\n  undefined *puStack_dc;\n  undefined *puStack_d8;\n  undefined *puStack_d4;\n  undefined *puStack_d0;\n  code *pcStack_cc;\n  undefined *puStack_b8;\n  undefined4 uStack_b0;\n  undefined4 uStack_ac;\n  undefined *puStack_a8;\n  undefined **ppuStack_a4;\n  undefined *puStack_a0;\n  undefined *puStack_9c;\n  undefined *puStack_98;\n  undefined *puStack_94;\n  undefined4 *puStack_90;\n  undefined *puStack_8c;\n  undefined *puStack_88;\n  undefined *puStack_84;\n  undefined **ppuStack_80;\n  undefined4 uStack_7c;\n  undefined *puStack_78;\n  undefined *puStack_74;\n  undefined *puStack_70;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined *local_3c;\n  undefined **local_38;\n  undefined *local_34;\n  undefined4 local_30;\n  undefined *local_2c;\n  undefined4 *local_28;\n  undefined *local_24;\n  \n  puVar9 = PTR___stack_chk_guard_003a9230;\n  local_24 = *(undefined **)PTR___stack_chk_guard_003a9230;\n  if (param_1 == (undefined *)0x0) {\nLAB_000ff904:\n    puVar8 = (undefined *)0x37a;\n    param_4 = PTR_s_t_to_left_003a88e4 + -0x4fec;\n    ppuVar5 = (undefined **)(PTR_s_t_to_left_003a88e4 + -0x5168);\n    puVar10 = PTR_s_t_to_left_003a88e4 + -0x5080;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }\n  else {\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x24) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);\n      goto LAB_000ff904;\n    }\n    ppuVar5 = param_2;\n    puVar8 = param_3;\n    if (param_2 == (undefined **)0x0) {\nLAB_000ff6d0:\n      puVar3 = (undefined *)0x0;\n      param_3 = unaff_s4;\n    }\n    else {\n      unaff_s3 = *(undefined4 *)(param_1 + 0x14);\n      ppuVar5 = (undefined **)0x1;\n      puVar8 = *(undefined **)(param_1 + 0x1c);\n      iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = param_3;\n      if (iVar2 == 0) goto LAB_000ff6d0;\n      unaff_s5 = *(undefined **)(param_1 + 8);\n      unaff_s6 = *(undefined **)(param_1 + 0x10);\n      local_44 = 0;\n      local_48 = 0;\n      iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))) {\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }\nLAB_000ff780:\n      param_4 = (undefined *)0x0;\n      local_2c = (undefined *)0x1;\n      local_28 = &local_48;\n      ppuVar5 = &local_3c;\n      local_3c = param_1;\n      local_38 = param_2;\n      local_34 = param_3;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      puVar3 = local_2c;\n    }\n    puVar10 = local_24;\n    unaff_s2 = param_2;\n    unaff_s4 = param_3;\n    if (local_24 == *(undefined **)puVar9) {\n      return puVar3;\n    }\n  }\n  puVar3 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  puStack_b8 = puVar3 + 0x2b0f7c;\n  puStack_84 = puVar9;\n  piVar14 = *(int **)(puVar3 + 0x2a98fc);\n  puStack_8c = (undefined *)*piVar14;\n  puStack_88 = unaff_s0;\n  ppuStack_80 = unaff_s2;\n  uStack_7c = unaff_s3;\n  puStack_78 = unaff_s4;\n  puStack_74 = unaff_s5;\n  puStack_70 = unaff_s6;\n  if (puVar10 == (undefined *)0x0) {\n    puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb0) + -0x50fc,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fa,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);\n    return puVar9;\n  }\n  if (*(int *)(puVar10 + 0x24) != -0x54535255) {\n    puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb4) + 0x3930,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fb,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);\n    return puVar9;\n  }\n  ppuVar6 = ppuVar5;\n  puVar9 = puVar8;\n  puVar18 = unaff_s6;\n  if (puVar8 == (undefined *)0x0) {\nLAB_000ff9c8:\n    puVar3 = (undefined *)0x0;\n    ppuVar5 = unaff_s2;\n    param_4 = unaff_s4;\n  }\n  else {\n    puVar17 = ppuVar5[5];\n    ppuVar6 = (undefined **)0x1;\n    puVar9 = ppuVar5[7];\n    puVar18 = *(undefined **)(puVar10 + 0x14);\n    iVar2 = (**(code **)(puVar3 + 0x2a9ef0))(puVar17);\n    unaff_s2 = ppuVar5;\n    unaff_s4 = param_4;\n    unaff_s5 = puVar17;\n    if (iVar2 == 0) goto LAB_000ff9c8;\n    iVar13 = *(int *)(puVar10 + 8);\n    iVar4 = *(int *)(puVar10 + 0x10);\n    uStack_ac = 0;\n    uStack_b0 = 0;\n    iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18);\n    if (((iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)) &&\n       ((iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)))) {\n      iVar13 = iVar13 - iVar4;\n      (**(code **)(puStack_b8 + -0x7774))(7);\n      iVar2 = iVar13;\n      if (iVar13 < 0) {\n        iVar2 = iVar13 + 0x3f;\n      }\n      unaff_s5 = (undefined *)(iVar2 >> 6);\n      if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar13 < 0x80;\n      }\n      puVar9 = (undefined *)0x1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        puVar17 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n    }\n    else {\n      uVar21 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar21 = (*pcVar19)(7);\n      if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (undefined *)0x2;\n      }\nLAB_000ffa7c:\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n      puVar9 = unaff_s5;\n      unaff_s5 = puVar17;\n    }\n    puStack_94 = (undefined *)0x1;\n    puStack_90 = &uStack_b0;\n    ppuVar6 = &puStack_a8;\n    puStack_a8 = puVar10;\n    ppuStack_a4 = ppuVar5;\n    puStack_a0 = puVar8;\n    puStack_9c = param_4;\n    puStack_98 = puVar18;\n    (**(code **)(puStack_b8 + -0x7718))(iVar2 + -0x1ecc,ppuVar6,puVar9,0);\n    puVar3 = puStack_94;\n  }\n  if (puStack_8c == (undefined *)*piVar14) {\n    return puVar3;\n  }\n  pcVar19 = *(code **)(puStack_b8 + -0x784c);\n  pcVar20 = UpdateImageViewIterator;\n  puVar3 = puStack_8c;\n  (*pcVar19)();\n  piVar15 = *(int **)(pcVar19 + 0x2a95f8);\n  iStack_ec = *piVar15;\n  puStack_e8 = puVar10;\n  piStack_e4 = piVar14;\n  ppuStack_e0 = ppuVar5;\n  puStack_dc = puVar8;\n  puStack_d8 = param_4;\n  puStack_d4 = unaff_s5;\n  puStack_d0 = puVar18;\n  pcStack_cc = pcVar20;\n  if (puVar3 != (undefined *)0x0) {\n    if (*(int *)(puVar3 + 0x24) == -0x54535255) {\n      ppuVar5 = ppuVar6;\n      puVar10 = puVar9;\n      if (ppuVar6 == (undefined **)0x0) {\nLAB_000ffcbc:\n        puVar9 = (undefined *)0x0;\n      }\n      else {\n        uVar16 = *(undefined4 *)(puVar3 + 0x14);\n        ppuVar5 = (undefined **)0x1;\n        puVar10 = *(undefined **)(puVar3 + 0x1c);\n        iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);\n        if (iVar2 == 0) goto LAB_000ffcbc;\n        iVar13 = *(int *)(puVar3 + 8);\n        iVar4 = *(int *)(puVar3 + 0x10);\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);\n        if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }\n        puStack_f4 = (undefined *)0x1;\n        puStack_f0 = &uStack_110;\n        ppuVar5 = &puStack_104;\n        puStack_104 = puVar3;\n        ppuStack_100 = ppuVar6;\n        puStack_fc = puVar9;\n        uStack_f8 = uVar16;\n        (**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);\n        puVar9 = puStack_f4;\n      }\n      iVar2 = iStack_ec;\n      if (iStack_ec == *piVar15) {\n        return puVar9;\n      }\n      goto LAB_000fff14;\n    }\n    (**(code **)(pcVar19 + 0x2a99d0))\n              (*(int *)(pcVar19 + 0x2a8cb0) + 0x3930,*(int *)(pcVar19 + 0x2a8cac) + -0x5168,0x481,\n               *(int *)(pcVar19 + 0x2a8cac) + -0x5020);\n  }\n  puVar10 = (undefined *)0x480;\n  ppuVar5 = (undefined **)(*(int *)(pcVar19 + 0x2a8cac) + -0x5168);\n  iVar2 = *(int *)(pcVar19 + 0x2a8cac) + -0x50fc;\n  (**(code **)(pcVar19 + 0x2a99d0))();\nLAB_000fff14:\n  pcVar19 = *(code **)(pcVar19 + 0x2a942c);\n  (*pcVar19)();\n  if (*(int *)(iVar2 + 700) == 0) {\n    (**(code **)(pcVar19 + 0x2a8df4))();\n  }\n  puVar9 = ppuVar5[1];\n  iVar13 = 0;\n  if (0 < (int)puVar9) {\n    do {\n      iVar4 = (**(code **)(pcVar19 + 0x2a8e18))\n                        (iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      puVar8 = *ppuVar5;\n      puVar9 = (undefined *)0x0;\n      if (0 < (int)puVar8) {\n        iVar12 = *(int *)(iVar2 + 0x2d0);\n        iVar7 = *(int *)(iVar2 + 0x2c0);\n        iVar11 = *(int *)(iVar12 + 0x34);\n        do {\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        } while (puVar9 != puVar8);\n      }\n      iVar4 = (**(code **)(pcVar19 + 0x2a92c4))(iVar2,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      iVar13 = iVar13 + 1;\n      puVar9 = (undefined *)(uint)(iVar13 < (int)ppuVar5[1]);\n    } while (puVar9 != (undefined *)0x0);\n  }\n  return puVar9;\n}" type_identifier (pointer_declarator "*\nSetImageViewIterator(undefined *param_1,undefined **param_2,undefined *param_3,undefined *param_4)" * (function_declarator "SetImageViewIterator(undefined *param_1,undefined **param_2,undefined *param_3,undefined *param_4)" identifier (parameter_list "(undefined *param_1,undefined **param_2,undefined *param_3,undefined *param_4)" ( (parameter_declaration "undefined *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined **param_2" type_identifier (pointer_declarator "**param_2" * (pointer_declarator "*param_2" * identifier))) , (parameter_declaration "undefined *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "undefined *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) )))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  undefined *puVar3;\n  int iVar4;\n  int extraout_v1;\n  undefined *extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  undefined *extraout_v1_03;\n  int extraout_v1_04;\n  undefined *extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  undefined *extraout_v1_08;\n  int extraout_v1_09;\n  undefined *extraout_v1_10;\n  int extraout_v1_11;\n  int extraout_v1_12;\n  undefined *extraout_v1_13;\n  undefined **ppuVar5;\n  undefined **ppuVar6;\n  int iVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  int iVar11;\n  int iVar12;\n  undefined *unaff_s0;\n  int iVar13;\n  int *piVar14;\n  int *piVar15;\n  undefined **unaff_s2;\n  undefined4 unaff_s3;\n  undefined4 uVar16;\n  undefined *unaff_s4;\n  undefined *unaff_s5;\n  undefined *puVar17;\n  undefined *unaff_s6;\n  undefined *puVar18;\n  code *pcVar19;\n  code *pcVar20;\n  undefined8 uVar21;\n  undefined4 uStack_110;\n  undefined4 uStack_10c;\n  undefined *puStack_104;\n  undefined **ppuStack_100;\n  undefined *puStack_fc;\n  undefined4 uStack_f8;\n  undefined *puStack_f4;\n  undefined4 *puStack_f0;\n  int iStack_ec;\n  undefined *puStack_e8;\n  int *piStack_e4;\n  undefined **ppuStack_e0;\n  undefined *puStack_dc;\n  undefined *puStack_d8;\n  undefined *puStack_d4;\n  undefined *puStack_d0;\n  code *pcStack_cc;\n  undefined *puStack_b8;\n  undefined4 uStack_b0;\n  undefined4 uStack_ac;\n  undefined *puStack_a8;\n  undefined **ppuStack_a4;\n  undefined *puStack_a0;\n  undefined *puStack_9c;\n  undefined *puStack_98;\n  undefined *puStack_94;\n  undefined4 *puStack_90;\n  undefined *puStack_8c;\n  undefined *puStack_88;\n  undefined *puStack_84;\n  undefined **ppuStack_80;\n  undefined4 uStack_7c;\n  undefined *puStack_78;\n  undefined *puStack_74;\n  undefined *puStack_70;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined *local_3c;\n  undefined **local_38;\n  undefined *local_34;\n  undefined4 local_30;\n  undefined *local_2c;\n  undefined4 *local_28;\n  undefined *local_24;\n  \n  puVar9 = PTR___stack_chk_guard_003a9230;\n  local_24 = *(undefined **)PTR___stack_chk_guard_003a9230;\n  if (param_1 == (undefined *)0x0) {\nLAB_000ff904:\n    puVar8 = (undefined *)0x37a;\n    param_4 = PTR_s_t_to_left_003a88e4 + -0x4fec;\n    ppuVar5 = (undefined **)(PTR_s_t_to_left_003a88e4 + -0x5168);\n    puVar10 = PTR_s_t_to_left_003a88e4 + -0x5080;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }\n  else {\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x24) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);\n      goto LAB_000ff904;\n    }\n    ppuVar5 = param_2;\n    puVar8 = param_3;\n    if (param_2 == (undefined **)0x0) {\nLAB_000ff6d0:\n      puVar3 = (undefined *)0x0;\n      param_3 = unaff_s4;\n    }\n    else {\n      unaff_s3 = *(undefined4 *)(param_1 + 0x14);\n      ppuVar5 = (undefined **)0x1;\n      puVar8 = *(undefined **)(param_1 + 0x1c);\n      iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = param_3;\n      if (iVar2 == 0) goto LAB_000ff6d0;\n      unaff_s5 = *(undefined **)(param_1 + 8);\n      unaff_s6 = *(undefined **)(param_1 + 0x10);\n      local_44 = 0;\n      local_48 = 0;\n      iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))) {\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }\nLAB_000ff780:\n      param_4 = (undefined *)0x0;\n      local_2c = (undefined *)0x1;\n      local_28 = &local_48;\n      ppuVar5 = &local_3c;\n      local_3c = param_1;\n      local_38 = param_2;\n      local_34 = param_3;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      puVar3 = local_2c;\n    }\n    puVar10 = local_24;\n    unaff_s2 = param_2;\n    unaff_s4 = param_3;\n    if (local_24 == *(undefined **)puVar9) {\n      return puVar3;\n    }\n  }\n  puVar3 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  puStack_b8 = puVar3 + 0x2b0f7c;\n  puStack_84 = puVar9;\n  piVar14 = *(int **)(puVar3 + 0x2a98fc);\n  puStack_8c = (undefined *)*piVar14;\n  puStack_88 = unaff_s0;\n  ppuStack_80 = unaff_s2;\n  uStack_7c = unaff_s3;\n  puStack_78 = unaff_s4;\n  puStack_74 = unaff_s5;\n  puStack_70 = unaff_s6;\n  if (puVar10 == (undefined *)0x0) {\n    puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb0) + -0x50fc,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fa,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);\n    return puVar9;\n  }\n  if (*(int *)(puVar10 + 0x24) != -0x54535255) {\n    puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb4) + 0x3930,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fb,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);\n    return puVar9;\n  }\n  ppuVar6 = ppuVar5;\n  puVar9 = puVar8;\n  puVar18 = unaff_s6;\n  if (puVar8 == (undefined *)0x0) {\nLAB_000ff9c8:\n    puVar3 = (undefined *)0x0;\n    ppuVar5 = unaff_s2;\n    param_4 = unaff_s4;\n  }\n  else {\n    puVar17 = ppuVar5[5];\n    ppuVar6 = (undefined **)0x1;\n    puVar9 = ppuVar5[7];\n    puVar18 = *(undefined **)(puVar10 + 0x14);\n    iVar2 = (**(code **)(puVar3 + 0x2a9ef0))(puVar17);\n    unaff_s2 = ppuVar5;\n    unaff_s4 = param_4;\n    unaff_s5 = puVar17;\n    if (iVar2 == 0) goto LAB_000ff9c8;\n    iVar13 = *(int *)(puVar10 + 8);\n    iVar4 = *(int *)(puVar10 + 0x10);\n    uStack_ac = 0;\n    uStack_b0 = 0;\n    iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18);\n    if (((iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)) &&\n       ((iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)))) {\n      iVar13 = iVar13 - iVar4;\n      (**(code **)(puStack_b8 + -0x7774))(7);\n      iVar2 = iVar13;\n      if (iVar13 < 0) {\n        iVar2 = iVar13 + 0x3f;\n      }\n      unaff_s5 = (undefined *)(iVar2 >> 6);\n      if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar13 < 0x80;\n      }\n      puVar9 = (undefined *)0x1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        puVar17 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n    }\n    else {\n      uVar21 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar21 = (*pcVar19)(7);\n      if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (undefined *)0x2;\n      }\nLAB_000ffa7c:\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n      puVar9 = unaff_s5;\n      unaff_s5 = puVar17;\n    }\n    puStack_94 = (undefined *)0x1;\n    puStack_90 = &uStack_b0;\n    ppuVar6 = &puStack_a8;\n    puStack_a8 = puVar10;\n    ppuStack_a4 = ppuVar5;\n    puStack_a0 = puVar8;\n    puStack_9c = param_4;\n    puStack_98 = puVar18;\n    (**(code **)(puStack_b8 + -0x7718))(iVar2 + -0x1ecc,ppuVar6,puVar9,0);\n    puVar3 = puStack_94;\n  }\n  if (puStack_8c == (undefined *)*piVar14) {\n    return puVar3;\n  }\n  pcVar19 = *(code **)(puStack_b8 + -0x784c);\n  pcVar20 = UpdateImageViewIterator;\n  puVar3 = puStack_8c;\n  (*pcVar19)();\n  piVar15 = *(int **)(pcVar19 + 0x2a95f8);\n  iStack_ec = *piVar15;\n  puStack_e8 = puVar10;\n  piStack_e4 = piVar14;\n  ppuStack_e0 = ppuVar5;\n  puStack_dc = puVar8;\n  puStack_d8 = param_4;\n  puStack_d4 = unaff_s5;\n  puStack_d0 = puVar18;\n  pcStack_cc = pcVar20;\n  if (puVar3 != (undefined *)0x0) {\n    if (*(int *)(puVar3 + 0x24) == -0x54535255) {\n      ppuVar5 = ppuVar6;\n      puVar10 = puVar9;\n      if (ppuVar6 == (undefined **)0x0) {\nLAB_000ffcbc:\n        puVar9 = (undefined *)0x0;\n      }\n      else {\n        uVar16 = *(undefined4 *)(puVar3 + 0x14);\n        ppuVar5 = (undefined **)0x1;\n        puVar10 = *(undefined **)(puVar3 + 0x1c);\n        iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);\n        if (iVar2 == 0) goto LAB_000ffcbc;\n        iVar13 = *(int *)(puVar3 + 8);\n        iVar4 = *(int *)(puVar3 + 0x10);\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);\n        if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }\n        puStack_f4 = (undefined *)0x1;\n        puStack_f0 = &uStack_110;\n        ppuVar5 = &puStack_104;\n        puStack_104 = puVar3;\n        ppuStack_100 = ppuVar6;\n        puStack_fc = puVar9;\n        uStack_f8 = uVar16;\n        (**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);\n        puVar9 = puStack_f4;\n      }\n      iVar2 = iStack_ec;\n      if (iStack_ec == *piVar15) {\n        return puVar9;\n      }\n      goto LAB_000fff14;\n    }\n    (**(code **)(pcVar19 + 0x2a99d0))\n              (*(int *)(pcVar19 + 0x2a8cb0) + 0x3930,*(int *)(pcVar19 + 0x2a8cac) + -0x5168,0x481,\n               *(int *)(pcVar19 + 0x2a8cac) + -0x5020);\n  }\n  puVar10 = (undefined *)0x480;\n  ppuVar5 = (undefined **)(*(int *)(pcVar19 + 0x2a8cac) + -0x5168);\n  iVar2 = *(int *)(pcVar19 + 0x2a8cac) + -0x50fc;\n  (**(code **)(pcVar19 + 0x2a99d0))();\nLAB_000fff14:\n  pcVar19 = *(code **)(pcVar19 + 0x2a942c);\n  (*pcVar19)();\n  if (*(int *)(iVar2 + 700) == 0) {\n    (**(code **)(pcVar19 + 0x2a8df4))();\n  }\n  puVar9 = ppuVar5[1];\n  iVar13 = 0;\n  if (0 < (int)puVar9) {\n    do {\n      iVar4 = (**(code **)(pcVar19 + 0x2a8e18))\n                        (iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      puVar8 = *ppuVar5;\n      puVar9 = (undefined *)0x0;\n      if (0 < (int)puVar8) {\n        iVar12 = *(int *)(iVar2 + 0x2d0);\n        iVar7 = *(int *)(iVar2 + 0x2c0);\n        iVar11 = *(int *)(iVar12 + 0x34);\n        do {\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        } while (puVar9 != puVar8);\n      }\n      iVar4 = (**(code **)(pcVar19 + 0x2a92c4))(iVar2,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      iVar13 = iVar13 + 1;\n      puVar9 = (undefined *)(uint)(iVar13 < (int)ppuVar5[1]);\n    } while (puVar9 != (undefined *)0x0);\n  }\n  return puVar9;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int extraout_v1;" primitive_type identifier ;) (declaration "undefined *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 "undefined *extraout_v1_03;" type_identifier (pointer_declarator "*extraout_v1_03" * identifier) ;) (declaration "int extraout_v1_04;" primitive_type identifier ;) (declaration "undefined *extraout_v1_05;" type_identifier (pointer_declarator "*extraout_v1_05" * identifier) ;) (declaration "int extraout_v1_06;" primitive_type identifier ;) (declaration "int extraout_v1_07;" primitive_type identifier ;) (declaration "undefined *extraout_v1_08;" type_identifier (pointer_declarator "*extraout_v1_08" * identifier) ;) (declaration "int extraout_v1_09;" primitive_type identifier ;) (declaration "undefined *extraout_v1_10;" type_identifier (pointer_declarator "*extraout_v1_10" * identifier) ;) (declaration "int extraout_v1_11;" primitive_type identifier ;) (declaration "int extraout_v1_12;" primitive_type identifier ;) (declaration "undefined *extraout_v1_13;" type_identifier (pointer_declarator "*extraout_v1_13" * identifier) ;) (declaration "undefined **ppuVar5;" type_identifier (pointer_declarator "**ppuVar5" * (pointer_declarator "*ppuVar5" * identifier)) ;) (declaration "undefined **ppuVar6;" type_identifier (pointer_declarator "**ppuVar6" * (pointer_declarator "*ppuVar6" * identifier)) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "undefined *unaff_s0;" type_identifier (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "undefined **unaff_s2;" type_identifier (pointer_declarator "**unaff_s2" * (pointer_declarator "*unaff_s2" * identifier)) ;) (declaration "undefined4 unaff_s3;" type_identifier identifier ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "undefined *unaff_s4;" type_identifier (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "undefined *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "undefined *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "undefined *unaff_s6;" type_identifier (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "undefined *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "code *pcVar19;" type_identifier (pointer_declarator "*pcVar19" * identifier) ;) (declaration "code *pcVar20;" type_identifier (pointer_declarator "*pcVar20" * identifier) ;) (declaration "undefined8 uVar21;" type_identifier identifier ;) (declaration "undefined4 uStack_110;" type_identifier identifier ;) (declaration "undefined4 uStack_10c;" type_identifier identifier ;) (declaration "undefined *puStack_104;" type_identifier (pointer_declarator "*puStack_104" * identifier) ;) (declaration "undefined **ppuStack_100;" type_identifier (pointer_declarator "**ppuStack_100" * (pointer_declarator "*ppuStack_100" * identifier)) ;) (declaration "undefined *puStack_fc;" type_identifier (pointer_declarator "*puStack_fc" * identifier) ;) (declaration "undefined4 uStack_f8;" type_identifier identifier ;) (declaration "undefined *puStack_f4;" type_identifier (pointer_declarator "*puStack_f4" * identifier) ;) (declaration "undefined4 *puStack_f0;" type_identifier (pointer_declarator "*puStack_f0" * identifier) ;) (declaration "int iStack_ec;" primitive_type identifier ;) (declaration "undefined *puStack_e8;" type_identifier (pointer_declarator "*puStack_e8" * identifier) ;) (declaration "int *piStack_e4;" primitive_type (pointer_declarator "*piStack_e4" * identifier) ;) (declaration "undefined **ppuStack_e0;" type_identifier (pointer_declarator "**ppuStack_e0" * (pointer_declarator "*ppuStack_e0" * identifier)) ;) (declaration "undefined *puStack_dc;" type_identifier (pointer_declarator "*puStack_dc" * identifier) ;) (declaration "undefined *puStack_d8;" type_identifier (pointer_declarator "*puStack_d8" * identifier) ;) (declaration "undefined *puStack_d4;" type_identifier (pointer_declarator "*puStack_d4" * identifier) ;) (declaration "undefined *puStack_d0;" type_identifier (pointer_declarator "*puStack_d0" * identifier) ;) (declaration "code *pcStack_cc;" type_identifier (pointer_declarator "*pcStack_cc" * identifier) ;) (declaration "undefined *puStack_b8;" type_identifier (pointer_declarator "*puStack_b8" * identifier) ;) (declaration "undefined4 uStack_b0;" type_identifier identifier ;) (declaration "undefined4 uStack_ac;" type_identifier identifier ;) (declaration "undefined *puStack_a8;" type_identifier (pointer_declarator "*puStack_a8" * identifier) ;) (declaration "undefined **ppuStack_a4;" type_identifier (pointer_declarator "**ppuStack_a4" * (pointer_declarator "*ppuStack_a4" * identifier)) ;) (declaration "undefined *puStack_a0;" type_identifier (pointer_declarator "*puStack_a0" * identifier) ;) (declaration "undefined *puStack_9c;" type_identifier (pointer_declarator "*puStack_9c" * identifier) ;) (declaration "undefined *puStack_98;" type_identifier (pointer_declarator "*puStack_98" * identifier) ;) (declaration "undefined *puStack_94;" type_identifier (pointer_declarator "*puStack_94" * identifier) ;) (declaration "undefined4 *puStack_90;" type_identifier (pointer_declarator "*puStack_90" * identifier) ;) (declaration "undefined *puStack_8c;" type_identifier (pointer_declarator "*puStack_8c" * identifier) ;) (declaration "undefined *puStack_88;" type_identifier (pointer_declarator "*puStack_88" * identifier) ;) (declaration "undefined *puStack_84;" type_identifier (pointer_declarator "*puStack_84" * identifier) ;) (declaration "undefined **ppuStack_80;" type_identifier (pointer_declarator "**ppuStack_80" * (pointer_declarator "*ppuStack_80" * identifier)) ;) (declaration "undefined4 uStack_7c;" type_identifier identifier ;) (declaration "undefined *puStack_78;" type_identifier (pointer_declarator "*puStack_78" * identifier) ;) (declaration "undefined *puStack_74;" type_identifier (pointer_declarator "*puStack_74" * identifier) ;) (declaration "undefined *puStack_70;" type_identifier (pointer_declarator "*puStack_70" * identifier) ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "undefined4 local_44;" type_identifier identifier ;) (declaration "undefined *local_3c;" type_identifier (pointer_declarator "*local_3c" * identifier) ;) (declaration "undefined **local_38;" type_identifier (pointer_declarator "**local_38" * (pointer_declarator "*local_38" * identifier)) ;) (declaration "undefined *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "undefined *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (declaration "undefined4 *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (declaration "undefined *local_24;" type_identifier (pointer_declarator "*local_24" * identifier) ;) (expression_statement "puVar9 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar9 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "local_24 = *(undefined **)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_24 = *(undefined **)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(undefined **)PTR___stack_chk_guard_003a9230" * (cast_expression "(undefined **)PTR___stack_chk_guard_003a9230" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (param_1 == (undefined *)0x0) {\nLAB_000ff904:\n    puVar8 = (undefined *)0x37a;\n    param_4 = PTR_s_t_to_left_003a88e4 + -0x4fec;\n    ppuVar5 = (undefined **)(PTR_s_t_to_left_003a88e4 + -0x5168);\n    puVar10 = PTR_s_t_to_left_003a88e4 + -0x5080;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }\n  else {\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x24) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);\n      goto LAB_000ff904;\n    }\n    ppuVar5 = param_2;\n    puVar8 = param_3;\n    if (param_2 == (undefined **)0x0) {\nLAB_000ff6d0:\n      puVar3 = (undefined *)0x0;\n      param_3 = unaff_s4;\n    }\n    else {\n      unaff_s3 = *(undefined4 *)(param_1 + 0x14);\n      ppuVar5 = (undefined **)0x1;\n      puVar8 = *(undefined **)(param_1 + 0x1c);\n      iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = param_3;\n      if (iVar2 == 0) goto LAB_000ff6d0;\n      unaff_s5 = *(undefined **)(param_1 + 8);\n      unaff_s6 = *(undefined **)(param_1 + 0x10);\n      local_44 = 0;\n      local_48 = 0;\n      iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))) {\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }\nLAB_000ff780:\n      param_4 = (undefined *)0x0;\n      local_2c = (undefined *)0x1;\n      local_28 = &local_48;\n      ppuVar5 = &local_3c;\n      local_3c = param_1;\n      local_38 = param_2;\n      local_34 = param_3;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      puVar3 = local_2c;\n    }\n    puVar10 = local_24;\n    unaff_s2 = param_2;\n    unaff_s4 = param_3;\n    if (local_24 == *(undefined **)puVar9) {\n      return puVar3;\n    }\n  }" if (parenthesized_expression "(param_1 == (undefined *)0x0)" ( (binary_expression "param_1 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000ff904:\n    puVar8 = (undefined *)0x37a;\n    param_4 = PTR_s_t_to_left_003a88e4 + -0x4fec;\n    ppuVar5 = (undefined **)(PTR_s_t_to_left_003a88e4 + -0x5168);\n    puVar10 = PTR_s_t_to_left_003a88e4 + -0x5080;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }" { (labeled_statement "LAB_000ff904:\n    puVar8 = (undefined *)0x37a;" statement_identifier : (expression_statement "puVar8 = (undefined *)0x37a;" (assignment_expression "puVar8 = (undefined *)0x37a" identifier = (cast_expression "(undefined *)0x37a" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "param_4 = PTR_s_t_to_left_003a88e4 + -0x4fec;" (assignment_expression "param_4 = PTR_s_t_to_left_003a88e4 + -0x4fec" identifier = (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4fec" identifier + number_literal)) ;) (expression_statement "ppuVar5 = (undefined **)(PTR_s_t_to_left_003a88e4 + -0x5168);" (assignment_expression "ppuVar5 = (undefined **)(PTR_s_t_to_left_003a88e4 + -0x5168)" identifier = (cast_expression "(undefined **)(PTR_s_t_to_left_003a88e4 + -0x5168)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_s_t_to_left_003a88e4 + -0x5168)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5168" identifier + number_literal) )))) ;) (expression_statement "puVar10 = PTR_s_t_to_left_003a88e4 + -0x5080;" (assignment_expression "puVar10 = PTR_s_t_to_left_003a88e4 + -0x5080" identifier = (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5080" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)();" (call_expression "(*(code *)PTR___assert_fail_003a9608)()" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) }) (else_clause "else {\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x24) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);\n      goto LAB_000ff904;\n    }\n    ppuVar5 = param_2;\n    puVar8 = param_3;\n    if (param_2 == (undefined **)0x0) {\nLAB_000ff6d0:\n      puVar3 = (undefined *)0x0;\n      param_3 = unaff_s4;\n    }\n    else {\n      unaff_s3 = *(undefined4 *)(param_1 + 0x14);\n      ppuVar5 = (undefined **)0x1;\n      puVar8 = *(undefined **)(param_1 + 0x1c);\n      iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = param_3;\n      if (iVar2 == 0) goto LAB_000ff6d0;\n      unaff_s5 = *(undefined **)(param_1 + 8);\n      unaff_s6 = *(undefined **)(param_1 + 0x10);\n      local_44 = 0;\n      local_48 = 0;\n      iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))) {\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }\nLAB_000ff780:\n      param_4 = (undefined *)0x0;\n      local_2c = (undefined *)0x1;\n      local_28 = &local_48;\n      ppuVar5 = &local_3c;\n      local_3c = param_1;\n      local_38 = param_2;\n      local_34 = param_3;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      puVar3 = local_2c;\n    }\n    puVar10 = local_24;\n    unaff_s2 = param_2;\n    unaff_s4 = param_3;\n    if (local_24 == *(undefined **)puVar9) {\n      return puVar3;\n    }\n  }" else (compound_statement "{\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x24) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);\n      goto LAB_000ff904;\n    }\n    ppuVar5 = param_2;\n    puVar8 = param_3;\n    if (param_2 == (undefined **)0x0) {\nLAB_000ff6d0:\n      puVar3 = (undefined *)0x0;\n      param_3 = unaff_s4;\n    }\n    else {\n      unaff_s3 = *(undefined4 *)(param_1 + 0x14);\n      ppuVar5 = (undefined **)0x1;\n      puVar8 = *(undefined **)(param_1 + 0x1c);\n      iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = param_3;\n      if (iVar2 == 0) goto LAB_000ff6d0;\n      unaff_s5 = *(undefined **)(param_1 + 8);\n      unaff_s6 = *(undefined **)(param_1 + 0x10);\n      local_44 = 0;\n      local_48 = 0;\n      iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))) {\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }\nLAB_000ff780:\n      param_4 = (undefined *)0x0;\n      local_2c = (undefined *)0x1;\n      local_28 = &local_48;\n      ppuVar5 = &local_3c;\n      local_3c = param_1;\n      local_38 = param_2;\n      local_34 = param_3;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      puVar3 = local_2c;\n    }\n    puVar10 = local_24;\n    unaff_s2 = param_2;\n    unaff_s4 = param_3;\n    if (local_24 == *(undefined **)puVar9) {\n      return puVar3;\n    }\n  }" { (expression_statement "unaff_s0 = param_1;" (assignment_expression "unaff_s0 = param_1" identifier = identifier) ;) (if_statement "if (*(int *)(param_1 + 0x24) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);\n      goto LAB_000ff904;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x24) != -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x24) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x24)" * (cast_expression "(int *)(param_1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);\n      goto LAB_000ff904;\n    }" { (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x505c" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5168" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4fec" identifier + number_literal) ))) ;) (goto_statement "goto LAB_000ff904;" goto statement_identifier ;) })) (expression_statement "ppuVar5 = param_2;" (assignment_expression "ppuVar5 = param_2" identifier = identifier) ;) (expression_statement "puVar8 = param_3;" (assignment_expression "puVar8 = param_3" identifier = identifier) ;) (if_statement "if (param_2 == (undefined **)0x0) {\nLAB_000ff6d0:\n      puVar3 = (undefined *)0x0;\n      param_3 = unaff_s4;\n    }\n    else {\n      unaff_s3 = *(undefined4 *)(param_1 + 0x14);\n      ppuVar5 = (undefined **)0x1;\n      puVar8 = *(undefined **)(param_1 + 0x1c);\n      iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = param_3;\n      if (iVar2 == 0) goto LAB_000ff6d0;\n      unaff_s5 = *(undefined **)(param_1 + 8);\n      unaff_s6 = *(undefined **)(param_1 + 0x10);\n      local_44 = 0;\n      local_48 = 0;\n      iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))) {\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }\nLAB_000ff780:\n      param_4 = (undefined *)0x0;\n      local_2c = (undefined *)0x1;\n      local_28 = &local_48;\n      ppuVar5 = &local_3c;\n      local_3c = param_1;\n      local_38 = param_2;\n      local_34 = param_3;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      puVar3 = local_2c;\n    }" if (parenthesized_expression "(param_2 == (undefined **)0x0)" ( (binary_expression "param_2 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\nLAB_000ff6d0:\n      puVar3 = (undefined *)0x0;\n      param_3 = unaff_s4;\n    }" { (labeled_statement "LAB_000ff6d0:\n      puVar3 = (undefined *)0x0;" statement_identifier : (expression_statement "puVar3 = (undefined *)0x0;" (assignment_expression "puVar3 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "param_3 = unaff_s4;" (assignment_expression "param_3 = unaff_s4" identifier = identifier) ;) }) (else_clause "else {\n      unaff_s3 = *(undefined4 *)(param_1 + 0x14);\n      ppuVar5 = (undefined **)0x1;\n      puVar8 = *(undefined **)(param_1 + 0x1c);\n      iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = param_3;\n      if (iVar2 == 0) goto LAB_000ff6d0;\n      unaff_s5 = *(undefined **)(param_1 + 8);\n      unaff_s6 = *(undefined **)(param_1 + 0x10);\n      local_44 = 0;\n      local_48 = 0;\n      iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))) {\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }\nLAB_000ff780:\n      param_4 = (undefined *)0x0;\n      local_2c = (undefined *)0x1;\n      local_28 = &local_48;\n      ppuVar5 = &local_3c;\n      local_3c = param_1;\n      local_38 = param_2;\n      local_34 = param_3;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      puVar3 = local_2c;\n    }" else (compound_statement "{\n      unaff_s3 = *(undefined4 *)(param_1 + 0x14);\n      ppuVar5 = (undefined **)0x1;\n      puVar8 = *(undefined **)(param_1 + 0x1c);\n      iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = param_3;\n      if (iVar2 == 0) goto LAB_000ff6d0;\n      unaff_s5 = *(undefined **)(param_1 + 8);\n      unaff_s6 = *(undefined **)(param_1 + 0x10);\n      local_44 = 0;\n      local_48 = 0;\n      iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))) {\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }\nLAB_000ff780:\n      param_4 = (undefined *)0x0;\n      local_2c = (undefined *)0x1;\n      local_28 = &local_48;\n      ppuVar5 = &local_3c;\n      local_3c = param_1;\n      local_38 = param_2;\n      local_34 = param_3;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      puVar3 = local_2c;\n    }" { (expression_statement "unaff_s3 = *(undefined4 *)(param_1 + 0x14);" (assignment_expression "unaff_s3 = *(undefined4 *)(param_1 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x14)" * (cast_expression "(undefined4 *)(param_1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "ppuVar5 = (undefined **)0x1;" (assignment_expression "ppuVar5 = (undefined **)0x1" identifier = (cast_expression "(undefined **)0x1" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "puVar8 = *(undefined **)(param_1 + 0x1c);" (assignment_expression "puVar8 = *(undefined **)(param_1 + 0x1c)" identifier = (pointer_expression "*(undefined **)(param_1 + 0x1c)" * (cast_expression "(undefined **)(param_1 + 0x1c)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);" (assignment_expression "iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3)" identifier = (call_expression "(*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3)" (parenthesized_expression "(*(code *)PTR_SetImageStorageClass_003a9824)" ( (pointer_expression "*(code *)PTR_SetImageStorageClass_003a9824" * (cast_expression "(code *)PTR_SetImageStorageClass_003a9824" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s3)" ( identifier )))) ;) (expression_statement "unaff_s4 = param_3;" (assignment_expression "unaff_s4 = param_3" identifier = identifier) ;) (if_statement "if (iVar2 == 0) goto LAB_000ff6d0;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000ff6d0;" goto statement_identifier ;)) (expression_statement "unaff_s5 = *(undefined **)(param_1 + 8);" (assignment_expression "unaff_s5 = *(undefined **)(param_1 + 8)" identifier = (pointer_expression "*(undefined **)(param_1 + 8)" * (cast_expression "(undefined **)(param_1 + 8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "unaff_s6 = *(undefined **)(param_1 + 0x10);" (assignment_expression "unaff_s6 = *(undefined **)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined **)(param_1 + 0x10)" * (cast_expression "(undefined **)(param_1 + 0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (expression_statement "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);" (assignment_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" (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 "(unaff_s3)" ( identifier )))) ;) (if_statement "if (((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))) {\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }" if (parenthesized_expression "(((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3))))" ( (binary_expression "((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))" (parenthesized_expression "((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3))" ( (binary_expression "(iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)" (parenthesized_expression "(iVar2 == 4)" ( (binary_expression "iVar2 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)" ( (comma_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3" (assignment_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" (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 "(unaff_s3)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))" ( (parenthesized_expression "(iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3))" ( (comma_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)" (assignment_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" (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 "(unaff_s3)" ( identifier )))) , (binary_expression "iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)" (binary_expression "iVar2 == 4" identifier == number_literal) || (parenthesized_expression "(iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)" ( (comma_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3" (assignment_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" (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 "(unaff_s3)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }" { (expression_statement "iVar13 = (int)unaff_s5 - (int)unaff_s6;" (assignment_expression "iVar13 = (int)unaff_s5 - (int)unaff_s6" identifier = (binary_expression "(int)unaff_s5 - (int)unaff_s6" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (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 "iVar2 = iVar13;" (assignment_expression "iVar2 = iVar13" identifier = identifier) ;) (if_statement "if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }" if (parenthesized_expression "(iVar13 < 0)" ( (binary_expression "iVar13 < 0" identifier < number_literal) )) (compound_statement "{\n          iVar2 = iVar13 + 0x3f;\n        }" { (expression_statement "iVar2 = iVar13 + 0x3f;" (assignment_expression "iVar2 = iVar13 + 0x3f" identifier = (binary_expression "iVar13 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "unaff_s6 = (undefined *)(iVar2 >> 6);" (assignment_expression "unaff_s6 = (undefined *)(iVar2 >> 6)" identifier = (cast_expression "(undefined *)(iVar2 >> 6)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 >> 6)" ( (binary_expression "iVar2 >> 6" identifier >> number_literal) )))) ;) (if_statement "if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }" if (parenthesized_expression "(extraout_v1 < (int)unaff_s6)" ( (binary_expression "extraout_v1 < (int)unaff_s6" identifier < (cast_expression "(int)unaff_s6" ( (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 = iVar13 < 0x80;\n        }" else (compound_statement "{\n          bVar1 = iVar13 < 0x80;\n        }" { (expression_statement "bVar1 = iVar13 < 0x80;" (assignment_expression "bVar1 = iVar13 < 0x80" identifier = (binary_expression "iVar13 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "unaff_s5 = (undefined *)(bVar1 ^ 1);" (assignment_expression "unaff_s5 = (undefined *)(bVar1 ^ 1)" identifier = (cast_expression "(undefined *)(bVar1 ^ 1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(bVar1 ^ 1)" ( (binary_expression "bVar1 ^ 1" identifier ^ number_literal) )))) ;) (expression_statement "puVar8 = (undefined *)0x1;" (assignment_expression "puVar8 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }" if (parenthesized_expression "((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6))" ( (binary_expression "(unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)" (parenthesized_expression "(unaff_s5 != (undefined *)0x0)" ( (binary_expression "unaff_s5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)" ( (comma_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6" (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 "puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6" (assignment_expression "puVar8 = unaff_s6" identifier = identifier) , (binary_expression "extraout_v1_01 < (int)unaff_s6" identifier < (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)))) ))) )) (compound_statement "{\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = 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 "puVar8 = extraout_v1_03;" (assignment_expression "puVar8 = extraout_v1_03" identifier = identifier) ;) (expression_statement "unaff_s6 = extraout_v1_03;" (assignment_expression "unaff_s6 = extraout_v1_03" identifier = identifier) ;) })) }) (else_clause "else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }" else (compound_statement "{\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }" { (expression_statement "uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar21 = (*(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)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }" if (parenthesized_expression "(((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2))" ( (binary_expression "((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)" (parenthesized_expression "((int)((ulonglong)uVar21 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar21 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar21 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar21 >> 0x20)" ( (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar21 < 2)" ( (binary_expression "(uint)uVar21 < 2" (cast_expression "(uint)uVar21" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }" { (expression_statement "uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar21 = (*(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)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }" if (parenthesized_expression "(((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2))" ( (binary_expression "((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)" (parenthesized_expression "((int)((ulonglong)uVar21 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar21 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar21 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar21 >> 0x20)" ( (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar21 < 2)" ( (binary_expression "(uint)uVar21 < 2" (cast_expression "(uint)uVar21" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }" { (expression_statement "puVar8 = (undefined *)0x1;" (assignment_expression "puVar8 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000ff780;" goto statement_identifier ;) })) })) (expression_statement "uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar21 = (*(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)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }" if (parenthesized_expression "(((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2))" ( (binary_expression "((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)" (parenthesized_expression "((int)((ulonglong)uVar21 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar21 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar21 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar21 >> 0x20)" ( (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar21 < 2)" ( (binary_expression "(uint)uVar21 < 2" (cast_expression "(uint)uVar21" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = 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 "puVar8 = extraout_v1_00;" (assignment_expression "puVar8 = extraout_v1_00" identifier = identifier) ;) }) (else_clause "else {\n          puVar8 = (undefined *)0x2;\n        }" else (compound_statement "{\n          puVar8 = (undefined *)0x2;\n        }" { (expression_statement "puVar8 = (undefined *)0x2;" (assignment_expression "puVar8 = (undefined *)0x2" identifier = (cast_expression "(undefined *)0x2" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }))) (labeled_statement "LAB_000ff780:\n      param_4 = (undefined *)0x0;" statement_identifier : (expression_statement "param_4 = (undefined *)0x0;" (assignment_expression "param_4 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "local_2c = (undefined *)0x1;" (assignment_expression "local_2c = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_28 = &local_48;" (assignment_expression "local_28 = &local_48" identifier = (pointer_expression "&local_48" & identifier)) ;) (expression_statement "ppuVar5 = &local_3c;" (assignment_expression "ppuVar5 = &local_3c" identifier = (pointer_expression "&local_3c" & identifier)) ;) (expression_statement "local_3c = param_1;" (assignment_expression "local_3c = param_1" identifier = identifier) ;) (expression_statement "local_38 = param_2;" (assignment_expression "local_38 = param_2" identifier = identifier) ;) (expression_statement "local_34 = param_3;" (assignment_expression "local_34 = param_3" identifier = identifier) ;) (expression_statement "local_30 = unaff_s3;" (assignment_expression "local_30 = unaff_s3" identifier = identifier) ;) (expression_statement "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);" (call_expression "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0)" (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_003a8a94 + -0x20c0)" ( (binary_expression "PTR_LAB_003a8a94 + -0x20c0" identifier + number_literal) ))) ;) (expression_statement "puVar3 = local_2c;" (assignment_expression "puVar3 = local_2c" identifier = identifier) ;) }))) (expression_statement "puVar10 = local_24;" (assignment_expression "puVar10 = local_24" identifier = identifier) ;) (expression_statement "unaff_s2 = param_2;" (assignment_expression "unaff_s2 = param_2" identifier = identifier) ;) (expression_statement "unaff_s4 = param_3;" (assignment_expression "unaff_s4 = param_3" identifier = identifier) ;) (if_statement "if (local_24 == *(undefined **)puVar9) {\n      return puVar3;\n    }" if (parenthesized_expression "(local_24 == *(undefined **)puVar9)" ( (binary_expression "local_24 == *(undefined **)puVar9" identifier == (pointer_expression "*(undefined **)puVar9" * (cast_expression "(undefined **)puVar9" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n      return puVar3;\n    }" { (return_statement "return puVar3;" return identifier ;) })) }))) (expression_statement "puVar3 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar3 = 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 "puStack_b8 = puVar3 + 0x2b0f7c;" (assignment_expression "puStack_b8 = puVar3 + 0x2b0f7c" identifier = (binary_expression "puVar3 + 0x2b0f7c" identifier + number_literal)) ;) (expression_statement "puStack_84 = puVar9;" (assignment_expression "puStack_84 = puVar9" identifier = identifier) ;) (expression_statement "piVar14 = *(int **)(puVar3 + 0x2a98fc);" (assignment_expression "piVar14 = *(int **)(puVar3 + 0x2a98fc)" identifier = (pointer_expression "*(int **)(puVar3 + 0x2a98fc)" * (cast_expression "(int **)(puVar3 + 0x2a98fc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar3 + 0x2a98fc)" ( (binary_expression "puVar3 + 0x2a98fc" identifier + number_literal) ))))) ;) (expression_statement "puStack_8c = (undefined *)*piVar14;" (assignment_expression "puStack_8c = (undefined *)*piVar14" identifier = (cast_expression "(undefined *)*piVar14" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar14" * identifier))) ;) (expression_statement "puStack_88 = unaff_s0;" (assignment_expression "puStack_88 = unaff_s0" identifier = identifier) ;) (expression_statement "ppuStack_80 = unaff_s2;" (assignment_expression "ppuStack_80 = unaff_s2" identifier = identifier) ;) (expression_statement "uStack_7c = unaff_s3;" (assignment_expression "uStack_7c = unaff_s3" identifier = identifier) ;) (expression_statement "puStack_78 = unaff_s4;" (assignment_expression "puStack_78 = unaff_s4" identifier = identifier) ;) (expression_statement "puStack_74 = unaff_s5;" (assignment_expression "puStack_74 = unaff_s5" identifier = identifier) ;) (expression_statement "puStack_70 = unaff_s6;" (assignment_expression "puStack_70 = unaff_s6" identifier = identifier) ;) (if_statement "if (puVar10 == (undefined *)0x0) {\n    puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb0) + -0x50fc,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fa,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);\n    return puVar9;\n  }" if (parenthesized_expression "(puVar10 == (undefined *)0x0)" ( (binary_expression "puVar10 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb0) + -0x50fc,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fa,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);\n    return puVar9;\n  }" { (expression_statement "puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb0) + -0x50fc,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fa,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);" (assignment_expression "puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb0) + -0x50fc,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fa,*(int *)(puVar3 + 0x2a8fb0) + -0x5008)" identifier = (cast_expression "(undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb0) + -0x50fc,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fa,*(int *)(puVar3 + 0x2a8fb0) + -0x5008)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb0) + -0x50fc,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fa,*(int *)(puVar3 + 0x2a8fb0) + -0x5008)" (parenthesized_expression "(**(code **)(puVar3 + 0x2a9cd4))" ( (pointer_expression "**(code **)(puVar3 + 0x2a9cd4)" * (pointer_expression "*(code **)(puVar3 + 0x2a9cd4)" * (cast_expression "(code **)(puVar3 + 0x2a9cd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar3 + 0x2a9cd4)" ( (binary_expression "puVar3 + 0x2a9cd4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar3 + 0x2a8fb0) + -0x50fc,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fa,*(int *)(puVar3 + 0x2a8fb0) + -0x5008)" ( (binary_expression "*(int *)(puVar3 + 0x2a8fb0) + -0x50fc" (pointer_expression "*(int *)(puVar3 + 0x2a8fb0)" * (cast_expression "(int *)(puVar3 + 0x2a8fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x2a8fb0)" ( (binary_expression "puVar3 + 0x2a8fb0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar3 + 0x2a8fb0) + -0x5168" (pointer_expression "*(int *)(puVar3 + 0x2a8fb0)" * (cast_expression "(int *)(puVar3 + 0x2a8fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x2a8fb0)" ( (binary_expression "puVar3 + 0x2a8fb0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar3 + 0x2a8fb0) + -0x5008" (pointer_expression "*(int *)(puVar3 + 0x2a8fb0)" * (cast_expression "(int *)(puVar3 + 0x2a8fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x2a8fb0)" ( (binary_expression "puVar3 + 0x2a8fb0" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return puVar9;" return identifier ;) })) (if_statement "if (*(int *)(puVar10 + 0x24) != -0x54535255) {\n    puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb4) + 0x3930,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fb,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);\n    return puVar9;\n  }" if (parenthesized_expression "(*(int *)(puVar10 + 0x24) != -0x54535255)" ( (binary_expression "*(int *)(puVar10 + 0x24) != -0x54535255" (pointer_expression "*(int *)(puVar10 + 0x24)" * (cast_expression "(int *)(puVar10 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x24)" ( (binary_expression "puVar10 + 0x24" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb4) + 0x3930,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fb,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);\n    return puVar9;\n  }" { (expression_statement "puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb4) + 0x3930,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fb,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);" (assignment_expression "puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb4) + 0x3930,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fb,*(int *)(puVar3 + 0x2a8fb0) + -0x5008)" identifier = (cast_expression "(undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb4) + 0x3930,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fb,*(int *)(puVar3 + 0x2a8fb0) + -0x5008)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb4) + 0x3930,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fb,*(int *)(puVar3 + 0x2a8fb0) + -0x5008)" (parenthesized_expression "(**(code **)(puVar3 + 0x2a9cd4))" ( (pointer_expression "**(code **)(puVar3 + 0x2a9cd4)" * (pointer_expression "*(code **)(puVar3 + 0x2a9cd4)" * (cast_expression "(code **)(puVar3 + 0x2a9cd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar3 + 0x2a9cd4)" ( (binary_expression "puVar3 + 0x2a9cd4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar3 + 0x2a8fb4) + 0x3930,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fb,*(int *)(puVar3 + 0x2a8fb0) + -0x5008)" ( (binary_expression "*(int *)(puVar3 + 0x2a8fb4) + 0x3930" (pointer_expression "*(int *)(puVar3 + 0x2a8fb4)" * (cast_expression "(int *)(puVar3 + 0x2a8fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x2a8fb4)" ( (binary_expression "puVar3 + 0x2a8fb4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar3 + 0x2a8fb0) + -0x5168" (pointer_expression "*(int *)(puVar3 + 0x2a8fb0)" * (cast_expression "(int *)(puVar3 + 0x2a8fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x2a8fb0)" ( (binary_expression "puVar3 + 0x2a8fb0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar3 + 0x2a8fb0) + -0x5008" (pointer_expression "*(int *)(puVar3 + 0x2a8fb0)" * (cast_expression "(int *)(puVar3 + 0x2a8fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x2a8fb0)" ( (binary_expression "puVar3 + 0x2a8fb0" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return puVar9;" return identifier ;) })) (expression_statement "ppuVar6 = ppuVar5;" (assignment_expression "ppuVar6 = ppuVar5" identifier = identifier) ;) (expression_statement "puVar9 = puVar8;" (assignment_expression "puVar9 = puVar8" identifier = identifier) ;) (expression_statement "puVar18 = unaff_s6;" (assignment_expression "puVar18 = unaff_s6" identifier = identifier) ;) (if_statement "if (puVar8 == (undefined *)0x0) {\nLAB_000ff9c8:\n    puVar3 = (undefined *)0x0;\n    ppuVar5 = unaff_s2;\n    param_4 = unaff_s4;\n  }\n  else {\n    puVar17 = ppuVar5[5];\n    ppuVar6 = (undefined **)0x1;\n    puVar9 = ppuVar5[7];\n    puVar18 = *(undefined **)(puVar10 + 0x14);\n    iVar2 = (**(code **)(puVar3 + 0x2a9ef0))(puVar17);\n    unaff_s2 = ppuVar5;\n    unaff_s4 = param_4;\n    unaff_s5 = puVar17;\n    if (iVar2 == 0) goto LAB_000ff9c8;\n    iVar13 = *(int *)(puVar10 + 8);\n    iVar4 = *(int *)(puVar10 + 0x10);\n    uStack_ac = 0;\n    uStack_b0 = 0;\n    iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18);\n    if (((iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)) &&\n       ((iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)))) {\n      iVar13 = iVar13 - iVar4;\n      (**(code **)(puStack_b8 + -0x7774))(7);\n      iVar2 = iVar13;\n      if (iVar13 < 0) {\n        iVar2 = iVar13 + 0x3f;\n      }\n      unaff_s5 = (undefined *)(iVar2 >> 6);\n      if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar13 < 0x80;\n      }\n      puVar9 = (undefined *)0x1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        puVar17 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n    }\n    else {\n      uVar21 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar21 = (*pcVar19)(7);\n      if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (undefined *)0x2;\n      }\nLAB_000ffa7c:\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n      puVar9 = unaff_s5;\n      unaff_s5 = puVar17;\n    }\n    puStack_94 = (undefined *)0x1;\n    puStack_90 = &uStack_b0;\n    ppuVar6 = &puStack_a8;\n    puStack_a8 = puVar10;\n    ppuStack_a4 = ppuVar5;\n    puStack_a0 = puVar8;\n    puStack_9c = param_4;\n    puStack_98 = puVar18;\n    (**(code **)(puStack_b8 + -0x7718))(iVar2 + -0x1ecc,ppuVar6,puVar9,0);\n    puVar3 = puStack_94;\n  }" if (parenthesized_expression "(puVar8 == (undefined *)0x0)" ( (binary_expression "puVar8 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000ff9c8:\n    puVar3 = (undefined *)0x0;\n    ppuVar5 = unaff_s2;\n    param_4 = unaff_s4;\n  }" { (labeled_statement "LAB_000ff9c8:\n    puVar3 = (undefined *)0x0;" statement_identifier : (expression_statement "puVar3 = (undefined *)0x0;" (assignment_expression "puVar3 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "ppuVar5 = unaff_s2;" (assignment_expression "ppuVar5 = unaff_s2" identifier = identifier) ;) (expression_statement "param_4 = unaff_s4;" (assignment_expression "param_4 = unaff_s4" identifier = identifier) ;) }) (else_clause "else {\n    puVar17 = ppuVar5[5];\n    ppuVar6 = (undefined **)0x1;\n    puVar9 = ppuVar5[7];\n    puVar18 = *(undefined **)(puVar10 + 0x14);\n    iVar2 = (**(code **)(puVar3 + 0x2a9ef0))(puVar17);\n    unaff_s2 = ppuVar5;\n    unaff_s4 = param_4;\n    unaff_s5 = puVar17;\n    if (iVar2 == 0) goto LAB_000ff9c8;\n    iVar13 = *(int *)(puVar10 + 8);\n    iVar4 = *(int *)(puVar10 + 0x10);\n    uStack_ac = 0;\n    uStack_b0 = 0;\n    iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18);\n    if (((iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)) &&\n       ((iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)))) {\n      iVar13 = iVar13 - iVar4;\n      (**(code **)(puStack_b8 + -0x7774))(7);\n      iVar2 = iVar13;\n      if (iVar13 < 0) {\n        iVar2 = iVar13 + 0x3f;\n      }\n      unaff_s5 = (undefined *)(iVar2 >> 6);\n      if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar13 < 0x80;\n      }\n      puVar9 = (undefined *)0x1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        puVar17 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n    }\n    else {\n      uVar21 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar21 = (*pcVar19)(7);\n      if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (undefined *)0x2;\n      }\nLAB_000ffa7c:\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n      puVar9 = unaff_s5;\n      unaff_s5 = puVar17;\n    }\n    puStack_94 = (undefined *)0x1;\n    puStack_90 = &uStack_b0;\n    ppuVar6 = &puStack_a8;\n    puStack_a8 = puVar10;\n    ppuStack_a4 = ppuVar5;\n    puStack_a0 = puVar8;\n    puStack_9c = param_4;\n    puStack_98 = puVar18;\n    (**(code **)(puStack_b8 + -0x7718))(iVar2 + -0x1ecc,ppuVar6,puVar9,0);\n    puVar3 = puStack_94;\n  }" else (compound_statement "{\n    puVar17 = ppuVar5[5];\n    ppuVar6 = (undefined **)0x1;\n    puVar9 = ppuVar5[7];\n    puVar18 = *(undefined **)(puVar10 + 0x14);\n    iVar2 = (**(code **)(puVar3 + 0x2a9ef0))(puVar17);\n    unaff_s2 = ppuVar5;\n    unaff_s4 = param_4;\n    unaff_s5 = puVar17;\n    if (iVar2 == 0) goto LAB_000ff9c8;\n    iVar13 = *(int *)(puVar10 + 8);\n    iVar4 = *(int *)(puVar10 + 0x10);\n    uStack_ac = 0;\n    uStack_b0 = 0;\n    iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18);\n    if (((iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)) &&\n       ((iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)))) {\n      iVar13 = iVar13 - iVar4;\n      (**(code **)(puStack_b8 + -0x7774))(7);\n      iVar2 = iVar13;\n      if (iVar13 < 0) {\n        iVar2 = iVar13 + 0x3f;\n      }\n      unaff_s5 = (undefined *)(iVar2 >> 6);\n      if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar13 < 0x80;\n      }\n      puVar9 = (undefined *)0x1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        puVar17 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n    }\n    else {\n      uVar21 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar21 = (*pcVar19)(7);\n      if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (undefined *)0x2;\n      }\nLAB_000ffa7c:\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n      puVar9 = unaff_s5;\n      unaff_s5 = puVar17;\n    }\n    puStack_94 = (undefined *)0x1;\n    puStack_90 = &uStack_b0;\n    ppuVar6 = &puStack_a8;\n    puStack_a8 = puVar10;\n    ppuStack_a4 = ppuVar5;\n    puStack_a0 = puVar8;\n    puStack_9c = param_4;\n    puStack_98 = puVar18;\n    (**(code **)(puStack_b8 + -0x7718))(iVar2 + -0x1ecc,ppuVar6,puVar9,0);\n    puVar3 = puStack_94;\n  }" { (expression_statement "puVar17 = ppuVar5[5];" (assignment_expression "puVar17 = ppuVar5[5]" identifier = (subscript_expression "ppuVar5[5]" identifier [ number_literal ])) ;) (expression_statement "ppuVar6 = (undefined **)0x1;" (assignment_expression "ppuVar6 = (undefined **)0x1" identifier = (cast_expression "(undefined **)0x1" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "puVar9 = ppuVar5[7];" (assignment_expression "puVar9 = ppuVar5[7]" identifier = (subscript_expression "ppuVar5[7]" identifier [ number_literal ])) ;) (expression_statement "puVar18 = *(undefined **)(puVar10 + 0x14);" (assignment_expression "puVar18 = *(undefined **)(puVar10 + 0x14)" identifier = (pointer_expression "*(undefined **)(puVar10 + 0x14)" * (cast_expression "(undefined **)(puVar10 + 0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = (**(code **)(puVar3 + 0x2a9ef0))(puVar17);" (assignment_expression "iVar2 = (**(code **)(puVar3 + 0x2a9ef0))(puVar17)" identifier = (call_expression "(**(code **)(puVar3 + 0x2a9ef0))(puVar17)" (parenthesized_expression "(**(code **)(puVar3 + 0x2a9ef0))" ( (pointer_expression "**(code **)(puVar3 + 0x2a9ef0)" * (pointer_expression "*(code **)(puVar3 + 0x2a9ef0)" * (cast_expression "(code **)(puVar3 + 0x2a9ef0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar3 + 0x2a9ef0)" ( (binary_expression "puVar3 + 0x2a9ef0" identifier + number_literal) ))))) )) (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "unaff_s2 = ppuVar5;" (assignment_expression "unaff_s2 = ppuVar5" identifier = identifier) ;) (expression_statement "unaff_s4 = param_4;" (assignment_expression "unaff_s4 = param_4" identifier = identifier) ;) (expression_statement "unaff_s5 = puVar17;" (assignment_expression "unaff_s5 = puVar17" identifier = identifier) ;) (if_statement "if (iVar2 == 0) goto LAB_000ff9c8;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000ff9c8;" goto statement_identifier ;)) (expression_statement "iVar13 = *(int *)(puVar10 + 8);" (assignment_expression "iVar13 = *(int *)(puVar10 + 8)" identifier = (pointer_expression "*(int *)(puVar10 + 8)" * (cast_expression "(int *)(puVar10 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 8)" ( (binary_expression "puVar10 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(puVar10 + 0x10);" (assignment_expression "iVar4 = *(int *)(puVar10 + 0x10)" identifier = (pointer_expression "*(int *)(puVar10 + 0x10)" * (cast_expression "(int *)(puVar10 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x10)" ( (binary_expression "puVar10 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uStack_ac = 0;" (assignment_expression "uStack_ac = 0" identifier = number_literal) ;) (expression_statement "uStack_b0 = 0;" (assignment_expression "uStack_b0 = 0" identifier = number_literal) ;) (expression_statement "iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18);" (assignment_expression "iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18)" identifier = (call_expression "(**(code **)(puStack_b8 + -0x73fc))(puVar18)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_b8 + -0x73fc)" * (pointer_expression "*(code **)(puStack_b8 + -0x73fc)" * (cast_expression "(code **)(puStack_b8 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x73fc)" ( (binary_expression "puStack_b8 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(puVar18)" ( identifier )))) ;) (if_statement "if (((iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)) &&\n       ((iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)))) {\n      iVar13 = iVar13 - iVar4;\n      (**(code **)(puStack_b8 + -0x7774))(7);\n      iVar2 = iVar13;\n      if (iVar13 < 0) {\n        iVar2 = iVar13 + 0x3f;\n      }\n      unaff_s5 = (undefined *)(iVar2 >> 6);\n      if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar13 < 0x80;\n      }\n      puVar9 = (undefined *)0x1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        puVar17 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n    }\n    else {\n      uVar21 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar21 = (*pcVar19)(7);\n      if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (undefined *)0x2;\n      }\nLAB_000ffa7c:\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n      puVar9 = unaff_s5;\n      unaff_s5 = puVar17;\n    }" if (parenthesized_expression "(((iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)) &&\n       ((iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3))))" ( (binary_expression "((iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)) &&\n       ((iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)))" (parenthesized_expression "((iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3))" ( (binary_expression "(iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)" (parenthesized_expression "(iVar2 == 4)" ( (binary_expression "iVar2 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)" ( (comma_expression "iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3" (assignment_expression "iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18)" identifier = (call_expression "(**(code **)(puStack_b8 + -0x73fc))(puVar18)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_b8 + -0x73fc)" * (pointer_expression "*(code **)(puStack_b8 + -0x73fc)" * (cast_expression "(code **)(puStack_b8 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x73fc)" ( (binary_expression "puStack_b8 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(puVar18)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)))" ( (parenthesized_expression "(iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3))" ( (comma_expression "iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)" (assignment_expression "iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17)" identifier = (call_expression "(**(code **)(puStack_b8 + -0x73fc))(puVar17)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_b8 + -0x73fc)" * (pointer_expression "*(code **)(puStack_b8 + -0x73fc)" * (cast_expression "(code **)(puStack_b8 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x73fc)" ( (binary_expression "puStack_b8 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(puVar17)" ( identifier )))) , (binary_expression "iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)" (binary_expression "iVar2 == 4" identifier == number_literal) || (parenthesized_expression "(iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)" ( (comma_expression "iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3" (assignment_expression "iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17)" identifier = (call_expression "(**(code **)(puStack_b8 + -0x73fc))(puVar17)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_b8 + -0x73fc)" * (pointer_expression "*(code **)(puStack_b8 + -0x73fc)" * (cast_expression "(code **)(puStack_b8 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x73fc)" ( (binary_expression "puStack_b8 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(puVar17)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n      iVar13 = iVar13 - iVar4;\n      (**(code **)(puStack_b8 + -0x7774))(7);\n      iVar2 = iVar13;\n      if (iVar13 < 0) {\n        iVar2 = iVar13 + 0x3f;\n      }\n      unaff_s5 = (undefined *)(iVar2 >> 6);\n      if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar13 < 0x80;\n      }\n      puVar9 = (undefined *)0x1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        puVar17 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n    }" { (expression_statement "iVar13 = iVar13 - iVar4;" (assignment_expression "iVar13 = iVar13 - iVar4" identifier = (binary_expression "iVar13 - iVar4" identifier - identifier)) ;) (expression_statement "(**(code **)(puStack_b8 + -0x7774))(7);" (call_expression "(**(code **)(puStack_b8 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x7774))" ( (pointer_expression "**(code **)(puStack_b8 + -0x7774)" * (pointer_expression "*(code **)(puStack_b8 + -0x7774)" * (cast_expression "(code **)(puStack_b8 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x7774)" ( (binary_expression "puStack_b8 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar2 = iVar13;" (assignment_expression "iVar2 = iVar13" identifier = identifier) ;) (if_statement "if (iVar13 < 0) {\n        iVar2 = iVar13 + 0x3f;\n      }" if (parenthesized_expression "(iVar13 < 0)" ( (binary_expression "iVar13 < 0" identifier < number_literal) )) (compound_statement "{\n        iVar2 = iVar13 + 0x3f;\n      }" { (expression_statement "iVar2 = iVar13 + 0x3f;" (assignment_expression "iVar2 = iVar13 + 0x3f" identifier = (binary_expression "iVar13 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "unaff_s5 = (undefined *)(iVar2 >> 6);" (assignment_expression "unaff_s5 = (undefined *)(iVar2 >> 6)" identifier = (cast_expression "(undefined *)(iVar2 >> 6)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 >> 6)" ( (binary_expression "iVar2 >> 6" identifier >> number_literal) )))) ;) (if_statement "if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar13 < 0x80;\n      }" if (parenthesized_expression "(extraout_v1_04 < (int)unaff_s5)" ( (binary_expression "extraout_v1_04 < (int)unaff_s5" identifier < (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }" { (expression_statement "(**(code **)(puStack_b8 + -0x7774))(7);" (call_expression "(**(code **)(puStack_b8 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x7774))" ( (pointer_expression "**(code **)(puStack_b8 + -0x7774)" * (pointer_expression "*(code **)(puStack_b8 + -0x7774)" * (cast_expression "(code **)(puStack_b8 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x7774)" ( (binary_expression "puStack_b8 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_07 < 2;" (assignment_expression "bVar1 = extraout_v1_07 < 2" identifier = (binary_expression "extraout_v1_07 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n        bVar1 = iVar13 < 0x80;\n      }" else (compound_statement "{\n        bVar1 = iVar13 < 0x80;\n      }" { (expression_statement "bVar1 = iVar13 < 0x80;" (assignment_expression "bVar1 = iVar13 < 0x80" identifier = (binary_expression "iVar13 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "puVar9 = (undefined *)0x1;" (assignment_expression "puVar9 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        puVar17 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\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_b8 + -0x7774))(7);\n        puVar17 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }" { (expression_statement "(**(code **)(puStack_b8 + -0x7774))(7);" (call_expression "(**(code **)(puStack_b8 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x7774))" ( (pointer_expression "**(code **)(puStack_b8 + -0x7774)" * (pointer_expression "*(code **)(puStack_b8 + -0x7774)" * (cast_expression "(code **)(puStack_b8 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x7774)" ( (binary_expression "puStack_b8 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "puVar17 = unaff_s5;" (assignment_expression "puVar17 = unaff_s5" identifier = identifier) ;) (if_statement "if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }" if (parenthesized_expression "(extraout_v1_06 < (int)unaff_s5)" ( (binary_expression "extraout_v1_06 < (int)unaff_s5" identifier < (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }" { (expression_statement "(**(code **)(puStack_b8 + -0x7774))(7);" (call_expression "(**(code **)(puStack_b8 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x7774))" ( (pointer_expression "**(code **)(puStack_b8 + -0x7774)" * (pointer_expression "*(code **)(puStack_b8 + -0x7774)" * (cast_expression "(code **)(puStack_b8 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x7774)" ( (binary_expression "puStack_b8 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "unaff_s5 = extraout_v1_08;" (assignment_expression "unaff_s5 = extraout_v1_08" identifier = identifier) ;) (expression_statement "puVar17 = extraout_v1_08;" (assignment_expression "puVar17 = extraout_v1_08" identifier = identifier) ;) })) (goto_statement "goto LAB_000ffa7c;" goto statement_identifier ;) })) (expression_statement "iVar2 = *(int *)(puStack_b8 + -0x7e1c);" (assignment_expression "iVar2 = *(int *)(puStack_b8 + -0x7e1c)" identifier = (pointer_expression "*(int *)(puStack_b8 + -0x7e1c)" * (cast_expression "(int *)(puStack_b8 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_b8 + -0x7e1c)" ( (binary_expression "puStack_b8 + -0x7e1c" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      uVar21 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar21 = (*pcVar19)(7);\n      if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (undefined *)0x2;\n      }\nLAB_000ffa7c:\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n      puVar9 = unaff_s5;\n      unaff_s5 = puVar17;\n    }" else (compound_statement "{\n      uVar21 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar21 = (*pcVar19)(7);\n      if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (undefined *)0x2;\n      }\nLAB_000ffa7c:\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n      puVar9 = unaff_s5;\n      unaff_s5 = puVar17;\n    }" { (expression_statement "uVar21 = (**(code **)(puStack_b8 + -0x7774))(7);" (assignment_expression "uVar21 = (**(code **)(puStack_b8 + -0x7774))(7)" identifier = (call_expression "(**(code **)(puStack_b8 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x7774))" ( (pointer_expression "**(code **)(puStack_b8 + -0x7774)" * (pointer_expression "*(code **)(puStack_b8 + -0x7774)" * (cast_expression "(code **)(puStack_b8 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x7774)" ( (binary_expression "puStack_b8 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }" if (parenthesized_expression "((int)((ulonglong)uVar21 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar21 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar21 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar21 >> 0x20)" ( (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }" { (expression_statement "pcVar19 = *(code **)(puStack_b8 + -0x7774);" (assignment_expression "pcVar19 = *(code **)(puStack_b8 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_b8 + -0x7774)" * (cast_expression "(code **)(puStack_b8 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x7774)" ( (binary_expression "puStack_b8 + -0x7774" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }" if (parenthesized_expression "((uint)uVar21 < 2)" ( (binary_expression "(uint)uVar21 < 2" (cast_expression "(uint)uVar21" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }" { (expression_statement "uVar21 = (*pcVar19)(7);" (assignment_expression "uVar21 = (*pcVar19)(7)" identifier = (call_expression "(*pcVar19)(7)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;" if (parenthesized_expression "((int)((ulonglong)uVar21 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar21 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar21 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar21 >> 0x20)" ( (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_000ffa64;" goto statement_identifier ;)) (expression_statement "pcVar19 = *(code **)(puStack_b8 + -0x7774);" (assignment_expression "pcVar19 = *(code **)(puStack_b8 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_b8 + -0x7774)" * (cast_expression "(code **)(puStack_b8 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x7774)" ( (binary_expression "puStack_b8 + -0x7774" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }" if (parenthesized_expression "((uint)uVar21 < 2)" ( (binary_expression "(uint)uVar21 < 2" (cast_expression "(uint)uVar21" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }" { (expression_statement "unaff_s5 = (undefined *)0x1;" (assignment_expression "unaff_s5 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000ffa7c;" goto statement_identifier ;) })) })) }) (else_clause "else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }" else (compound_statement "{\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }" { (labeled_statement "LAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);" statement_identifier : (expression_statement "pcVar19 = *(code **)(puStack_b8 + -0x7774);" (assignment_expression "pcVar19 = *(code **)(puStack_b8 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_b8 + -0x7774)" * (cast_expression "(code **)(puStack_b8 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x7774)" ( (binary_expression "puStack_b8 + -0x7774" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar21 = (*pcVar19)(7);" (assignment_expression "uVar21 = (*pcVar19)(7)" identifier = (call_expression "(*pcVar19)(7)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (undefined *)0x2;\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2))" ( (binary_expression "((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)" (parenthesized_expression "((int)((ulonglong)uVar21 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar21 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar21 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar21 >> 0x20)" ( (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar21 < 2)" ( (binary_expression "(uint)uVar21 < 2" (cast_expression "(uint)uVar21" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }" { (expression_statement "(**(code **)(puStack_b8 + -0x7774))(7);" (call_expression "(**(code **)(puStack_b8 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x7774))" ( (pointer_expression "**(code **)(puStack_b8 + -0x7774)" * (pointer_expression "*(code **)(puStack_b8 + -0x7774)" * (cast_expression "(code **)(puStack_b8 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x7774)" ( (binary_expression "puStack_b8 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "unaff_s5 = extraout_v1_05;" (assignment_expression "unaff_s5 = extraout_v1_05" identifier = identifier) ;) }) (else_clause "else {\n        unaff_s5 = (undefined *)0x2;\n      }" else (compound_statement "{\n        unaff_s5 = (undefined *)0x2;\n      }" { (expression_statement "unaff_s5 = (undefined *)0x2;" (assignment_expression "unaff_s5 = (undefined *)0x2" identifier = (cast_expression "(undefined *)0x2" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (labeled_statement "LAB_000ffa7c:\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);" statement_identifier : (expression_statement "iVar2 = *(int *)(puStack_b8 + -0x7e1c);" (assignment_expression "iVar2 = *(int *)(puStack_b8 + -0x7e1c)" identifier = (pointer_expression "*(int *)(puStack_b8 + -0x7e1c)" * (cast_expression "(int *)(puStack_b8 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_b8 + -0x7e1c)" ( (binary_expression "puStack_b8 + -0x7e1c" identifier + number_literal) ))))) ;)) (expression_statement "puVar9 = unaff_s5;" (assignment_expression "puVar9 = unaff_s5" identifier = identifier) ;) (expression_statement "unaff_s5 = puVar17;" (assignment_expression "unaff_s5 = puVar17" identifier = identifier) ;) }))) (expression_statement "puStack_94 = (undefined *)0x1;" (assignment_expression "puStack_94 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puStack_90 = &uStack_b0;" (assignment_expression "puStack_90 = &uStack_b0" identifier = (pointer_expression "&uStack_b0" & identifier)) ;) (expression_statement "ppuVar6 = &puStack_a8;" (assignment_expression "ppuVar6 = &puStack_a8" identifier = (pointer_expression "&puStack_a8" & identifier)) ;) (expression_statement "puStack_a8 = puVar10;" (assignment_expression "puStack_a8 = puVar10" identifier = identifier) ;) (expression_statement "ppuStack_a4 = ppuVar5;" (assignment_expression "ppuStack_a4 = ppuVar5" identifier = identifier) ;) (expression_statement "puStack_a0 = puVar8;" (assignment_expression "puStack_a0 = puVar8" identifier = identifier) ;) (expression_statement "puStack_9c = param_4;" (assignment_expression "puStack_9c = param_4" identifier = identifier) ;) (expression_statement "puStack_98 = puVar18;" (assignment_expression "puStack_98 = puVar18" identifier = identifier) ;) (expression_statement "(**(code **)(puStack_b8 + -0x7718))(iVar2 + -0x1ecc,ppuVar6,puVar9,0);" (call_expression "(**(code **)(puStack_b8 + -0x7718))(iVar2 + -0x1ecc,ppuVar6,puVar9,0)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x7718))" ( (pointer_expression "**(code **)(puStack_b8 + -0x7718)" * (pointer_expression "*(code **)(puStack_b8 + -0x7718)" * (cast_expression "(code **)(puStack_b8 + -0x7718)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x7718)" ( (binary_expression "puStack_b8 + -0x7718" identifier + number_literal) ))))) )) (argument_list "(iVar2 + -0x1ecc,ppuVar6,puVar9,0)" ( (binary_expression "iVar2 + -0x1ecc" identifier + number_literal) , identifier , identifier , number_literal ))) ;) (expression_statement "puVar3 = puStack_94;" (assignment_expression "puVar3 = puStack_94" identifier = identifier) ;) }))) (if_statement "if (puStack_8c == (undefined *)*piVar14) {\n    return puVar3;\n  }" if (parenthesized_expression "(puStack_8c == (undefined *)*piVar14)" ( (binary_expression "puStack_8c == (undefined *)*piVar14" identifier == (cast_expression "(undefined *)*piVar14" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar14" * identifier))) )) (compound_statement "{\n    return puVar3;\n  }" { (return_statement "return puVar3;" return identifier ;) })) (expression_statement "pcVar19 = *(code **)(puStack_b8 + -0x784c);" (assignment_expression "pcVar19 = *(code **)(puStack_b8 + -0x784c)" identifier = (pointer_expression "*(code **)(puStack_b8 + -0x784c)" * (cast_expression "(code **)(puStack_b8 + -0x784c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x784c)" ( (binary_expression "puStack_b8 + -0x784c" identifier + number_literal) ))))) ;) (expression_statement "pcVar20 = UpdateImageViewIterator;" (assignment_expression "pcVar20 = UpdateImageViewIterator" identifier = identifier) ;) (expression_statement "puVar3 = puStack_8c;" (assignment_expression "puVar3 = puStack_8c" identifier = identifier) ;) (expression_statement "(*pcVar19)();" (call_expression "(*pcVar19)()" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar15 = *(int **)(pcVar19 + 0x2a95f8);" (assignment_expression "piVar15 = *(int **)(pcVar19 + 0x2a95f8)" identifier = (pointer_expression "*(int **)(pcVar19 + 0x2a95f8)" * (cast_expression "(int **)(pcVar19 + 0x2a95f8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a95f8)" ( (binary_expression "pcVar19 + 0x2a95f8" identifier + number_literal) ))))) ;) (expression_statement "iStack_ec = *piVar15;" (assignment_expression "iStack_ec = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "puStack_e8 = puVar10;" (assignment_expression "puStack_e8 = puVar10" identifier = identifier) ;) (expression_statement "piStack_e4 = piVar14;" (assignment_expression "piStack_e4 = piVar14" identifier = identifier) ;) (expression_statement "ppuStack_e0 = ppuVar5;" (assignment_expression "ppuStack_e0 = ppuVar5" identifier = identifier) ;) (expression_statement "puStack_dc = puVar8;" (assignment_expression "puStack_dc = puVar8" identifier = identifier) ;) (expression_statement "puStack_d8 = param_4;" (assignment_expression "puStack_d8 = param_4" identifier = identifier) ;) (expression_statement "puStack_d4 = unaff_s5;" (assignment_expression "puStack_d4 = unaff_s5" identifier = identifier) ;) (expression_statement "puStack_d0 = puVar18;" (assignment_expression "puStack_d0 = puVar18" identifier = identifier) ;) (expression_statement "pcStack_cc = pcVar20;" (assignment_expression "pcStack_cc = pcVar20" identifier = identifier) ;) (if_statement "if (puVar3 != (undefined *)0x0) {\n    if (*(int *)(puVar3 + 0x24) == -0x54535255) {\n      ppuVar5 = ppuVar6;\n      puVar10 = puVar9;\n      if (ppuVar6 == (undefined **)0x0) {\nLAB_000ffcbc:\n        puVar9 = (undefined *)0x0;\n      }\n      else {\n        uVar16 = *(undefined4 *)(puVar3 + 0x14);\n        ppuVar5 = (undefined **)0x1;\n        puVar10 = *(undefined **)(puVar3 + 0x1c);\n        iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);\n        if (iVar2 == 0) goto LAB_000ffcbc;\n        iVar13 = *(int *)(puVar3 + 8);\n        iVar4 = *(int *)(puVar3 + 0x10);\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);\n        if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }\n        puStack_f4 = (undefined *)0x1;\n        puStack_f0 = &uStack_110;\n        ppuVar5 = &puStack_104;\n        puStack_104 = puVar3;\n        ppuStack_100 = ppuVar6;\n        puStack_fc = puVar9;\n        uStack_f8 = uVar16;\n        (**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);\n        puVar9 = puStack_f4;\n      }\n      iVar2 = iStack_ec;\n      if (iStack_ec == *piVar15) {\n        return puVar9;\n      }\n      goto LAB_000fff14;\n    }\n    (**(code **)(pcVar19 + 0x2a99d0))\n              (*(int *)(pcVar19 + 0x2a8cb0) + 0x3930,*(int *)(pcVar19 + 0x2a8cac) + -0x5168,0x481,\n               *(int *)(pcVar19 + 0x2a8cac) + -0x5020);\n  }" if (parenthesized_expression "(puVar3 != (undefined *)0x0)" ( (binary_expression "puVar3 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (*(int *)(puVar3 + 0x24) == -0x54535255) {\n      ppuVar5 = ppuVar6;\n      puVar10 = puVar9;\n      if (ppuVar6 == (undefined **)0x0) {\nLAB_000ffcbc:\n        puVar9 = (undefined *)0x0;\n      }\n      else {\n        uVar16 = *(undefined4 *)(puVar3 + 0x14);\n        ppuVar5 = (undefined **)0x1;\n        puVar10 = *(undefined **)(puVar3 + 0x1c);\n        iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);\n        if (iVar2 == 0) goto LAB_000ffcbc;\n        iVar13 = *(int *)(puVar3 + 8);\n        iVar4 = *(int *)(puVar3 + 0x10);\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);\n        if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }\n        puStack_f4 = (undefined *)0x1;\n        puStack_f0 = &uStack_110;\n        ppuVar5 = &puStack_104;\n        puStack_104 = puVar3;\n        ppuStack_100 = ppuVar6;\n        puStack_fc = puVar9;\n        uStack_f8 = uVar16;\n        (**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);\n        puVar9 = puStack_f4;\n      }\n      iVar2 = iStack_ec;\n      if (iStack_ec == *piVar15) {\n        return puVar9;\n      }\n      goto LAB_000fff14;\n    }\n    (**(code **)(pcVar19 + 0x2a99d0))\n              (*(int *)(pcVar19 + 0x2a8cb0) + 0x3930,*(int *)(pcVar19 + 0x2a8cac) + -0x5168,0x481,\n               *(int *)(pcVar19 + 0x2a8cac) + -0x5020);\n  }" { (if_statement "if (*(int *)(puVar3 + 0x24) == -0x54535255) {\n      ppuVar5 = ppuVar6;\n      puVar10 = puVar9;\n      if (ppuVar6 == (undefined **)0x0) {\nLAB_000ffcbc:\n        puVar9 = (undefined *)0x0;\n      }\n      else {\n        uVar16 = *(undefined4 *)(puVar3 + 0x14);\n        ppuVar5 = (undefined **)0x1;\n        puVar10 = *(undefined **)(puVar3 + 0x1c);\n        iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);\n        if (iVar2 == 0) goto LAB_000ffcbc;\n        iVar13 = *(int *)(puVar3 + 8);\n        iVar4 = *(int *)(puVar3 + 0x10);\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);\n        if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }\n        puStack_f4 = (undefined *)0x1;\n        puStack_f0 = &uStack_110;\n        ppuVar5 = &puStack_104;\n        puStack_104 = puVar3;\n        ppuStack_100 = ppuVar6;\n        puStack_fc = puVar9;\n        uStack_f8 = uVar16;\n        (**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);\n        puVar9 = puStack_f4;\n      }\n      iVar2 = iStack_ec;\n      if (iStack_ec == *piVar15) {\n        return puVar9;\n      }\n      goto LAB_000fff14;\n    }" if (parenthesized_expression "(*(int *)(puVar3 + 0x24) == -0x54535255)" ( (binary_expression "*(int *)(puVar3 + 0x24) == -0x54535255" (pointer_expression "*(int *)(puVar3 + 0x24)" * (cast_expression "(int *)(puVar3 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x24)" ( (binary_expression "puVar3 + 0x24" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      ppuVar5 = ppuVar6;\n      puVar10 = puVar9;\n      if (ppuVar6 == (undefined **)0x0) {\nLAB_000ffcbc:\n        puVar9 = (undefined *)0x0;\n      }\n      else {\n        uVar16 = *(undefined4 *)(puVar3 + 0x14);\n        ppuVar5 = (undefined **)0x1;\n        puVar10 = *(undefined **)(puVar3 + 0x1c);\n        iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);\n        if (iVar2 == 0) goto LAB_000ffcbc;\n        iVar13 = *(int *)(puVar3 + 8);\n        iVar4 = *(int *)(puVar3 + 0x10);\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);\n        if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }\n        puStack_f4 = (undefined *)0x1;\n        puStack_f0 = &uStack_110;\n        ppuVar5 = &puStack_104;\n        puStack_104 = puVar3;\n        ppuStack_100 = ppuVar6;\n        puStack_fc = puVar9;\n        uStack_f8 = uVar16;\n        (**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);\n        puVar9 = puStack_f4;\n      }\n      iVar2 = iStack_ec;\n      if (iStack_ec == *piVar15) {\n        return puVar9;\n      }\n      goto LAB_000fff14;\n    }" { (expression_statement "ppuVar5 = ppuVar6;" (assignment_expression "ppuVar5 = ppuVar6" identifier = identifier) ;) (expression_statement "puVar10 = puVar9;" (assignment_expression "puVar10 = puVar9" identifier = identifier) ;) (if_statement "if (ppuVar6 == (undefined **)0x0) {\nLAB_000ffcbc:\n        puVar9 = (undefined *)0x0;\n      }\n      else {\n        uVar16 = *(undefined4 *)(puVar3 + 0x14);\n        ppuVar5 = (undefined **)0x1;\n        puVar10 = *(undefined **)(puVar3 + 0x1c);\n        iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);\n        if (iVar2 == 0) goto LAB_000ffcbc;\n        iVar13 = *(int *)(puVar3 + 8);\n        iVar4 = *(int *)(puVar3 + 0x10);\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);\n        if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }\n        puStack_f4 = (undefined *)0x1;\n        puStack_f0 = &uStack_110;\n        ppuVar5 = &puStack_104;\n        puStack_104 = puVar3;\n        ppuStack_100 = ppuVar6;\n        puStack_fc = puVar9;\n        uStack_f8 = uVar16;\n        (**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);\n        puVar9 = puStack_f4;\n      }" if (parenthesized_expression "(ppuVar6 == (undefined **)0x0)" ( (binary_expression "ppuVar6 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\nLAB_000ffcbc:\n        puVar9 = (undefined *)0x0;\n      }" { (labeled_statement "LAB_000ffcbc:\n        puVar9 = (undefined *)0x0;" statement_identifier : (expression_statement "puVar9 = (undefined *)0x0;" (assignment_expression "puVar9 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }) (else_clause "else {\n        uVar16 = *(undefined4 *)(puVar3 + 0x14);\n        ppuVar5 = (undefined **)0x1;\n        puVar10 = *(undefined **)(puVar3 + 0x1c);\n        iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);\n        if (iVar2 == 0) goto LAB_000ffcbc;\n        iVar13 = *(int *)(puVar3 + 8);\n        iVar4 = *(int *)(puVar3 + 0x10);\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);\n        if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }\n        puStack_f4 = (undefined *)0x1;\n        puStack_f0 = &uStack_110;\n        ppuVar5 = &puStack_104;\n        puStack_104 = puVar3;\n        ppuStack_100 = ppuVar6;\n        puStack_fc = puVar9;\n        uStack_f8 = uVar16;\n        (**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);\n        puVar9 = puStack_f4;\n      }" else (compound_statement "{\n        uVar16 = *(undefined4 *)(puVar3 + 0x14);\n        ppuVar5 = (undefined **)0x1;\n        puVar10 = *(undefined **)(puVar3 + 0x1c);\n        iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);\n        if (iVar2 == 0) goto LAB_000ffcbc;\n        iVar13 = *(int *)(puVar3 + 8);\n        iVar4 = *(int *)(puVar3 + 0x10);\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);\n        if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }\n        puStack_f4 = (undefined *)0x1;\n        puStack_f0 = &uStack_110;\n        ppuVar5 = &puStack_104;\n        puStack_104 = puVar3;\n        ppuStack_100 = ppuVar6;\n        puStack_fc = puVar9;\n        uStack_f8 = uVar16;\n        (**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);\n        puVar9 = puStack_f4;\n      }" { (expression_statement "uVar16 = *(undefined4 *)(puVar3 + 0x14);" (assignment_expression "uVar16 = *(undefined4 *)(puVar3 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(puVar3 + 0x14)" * (cast_expression "(undefined4 *)(puVar3 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x14)" ( (binary_expression "puVar3 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "ppuVar5 = (undefined **)0x1;" (assignment_expression "ppuVar5 = (undefined **)0x1" identifier = (cast_expression "(undefined **)0x1" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "puVar10 = *(undefined **)(puVar3 + 0x1c);" (assignment_expression "puVar10 = *(undefined **)(puVar3 + 0x1c)" identifier = (pointer_expression "*(undefined **)(puVar3 + 0x1c)" * (cast_expression "(undefined **)(puVar3 + 0x1c)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar3 + 0x1c)" ( (binary_expression "puVar3 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);" (assignment_expression "iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16)" identifier = (call_expression "(**(code **)(pcVar19 + 0x2a9bec))(uVar16)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a9bec))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a9bec)" * (pointer_expression "*(code **)(pcVar19 + 0x2a9bec)" * (cast_expression "(code **)(pcVar19 + 0x2a9bec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a9bec)" ( (binary_expression "pcVar19 + 0x2a9bec" identifier + number_literal) ))))) )) (argument_list "(uVar16)" ( identifier )))) ;) (if_statement "if (iVar2 == 0) goto LAB_000ffcbc;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000ffcbc;" goto statement_identifier ;)) (expression_statement "iVar13 = *(int *)(puVar3 + 8);" (assignment_expression "iVar13 = *(int *)(puVar3 + 8)" identifier = (pointer_expression "*(int *)(puVar3 + 8)" * (cast_expression "(int *)(puVar3 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 8)" ( (binary_expression "puVar3 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(puVar3 + 0x10);" (assignment_expression "iVar4 = *(int *)(puVar3 + 0x10)" identifier = (pointer_expression "*(int *)(puVar3 + 0x10)" * (cast_expression "(int *)(puVar3 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x10)" ( (binary_expression "puVar3 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uStack_10c = 0;" (assignment_expression "uStack_10c = 0" identifier = number_literal) ;) (expression_statement "uStack_110 = 0;" (assignment_expression "uStack_110 = 0" identifier = number_literal) ;) (expression_statement "iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);" (assignment_expression "iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16)" identifier = (call_expression "(**(code **)(pcVar19 + 0x2a987c))(uVar16)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a987c))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a987c)" * (pointer_expression "*(code **)(pcVar19 + 0x2a987c)" * (cast_expression "(code **)(pcVar19 + 0x2a987c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a987c)" ( (binary_expression "pcVar19 + 0x2a987c" identifier + number_literal) ))))) )) (argument_list "(uVar16)" ( identifier )))) ;) (if_statement "if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }" if (parenthesized_expression "(((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3))))" ( (binary_expression "((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))" (parenthesized_expression "((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3))" ( (binary_expression "(iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)" (parenthesized_expression "(iVar2 == 4)" ( (binary_expression "iVar2 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)" ( (comma_expression "iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3" (assignment_expression "iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16)" identifier = (call_expression "(**(code **)(pcVar19 + 0x2a987c))(uVar16)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a987c))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a987c)" * (pointer_expression "*(code **)(pcVar19 + 0x2a987c)" * (cast_expression "(code **)(pcVar19 + 0x2a987c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a987c)" ( (binary_expression "pcVar19 + 0x2a987c" identifier + number_literal) ))))) )) (argument_list "(uVar16)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))" ( (parenthesized_expression "(iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3))" ( (comma_expression "iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)" (assignment_expression "iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16)" identifier = (call_expression "(**(code **)(pcVar19 + 0x2a987c))(uVar16)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a987c))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a987c)" * (pointer_expression "*(code **)(pcVar19 + 0x2a987c)" * (cast_expression "(code **)(pcVar19 + 0x2a987c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a987c)" ( (binary_expression "pcVar19 + 0x2a987c" identifier + number_literal) ))))) )) (argument_list "(uVar16)" ( identifier )))) , (binary_expression "iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)" (binary_expression "iVar2 == 4" identifier == number_literal) || (parenthesized_expression "(iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)" ( (comma_expression "iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3" (assignment_expression "iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16)" identifier = (call_expression "(**(code **)(pcVar19 + 0x2a987c))(uVar16)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a987c))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a987c)" * (pointer_expression "*(code **)(pcVar19 + 0x2a987c)" * (cast_expression "(code **)(pcVar19 + 0x2a987c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a987c)" ( (binary_expression "pcVar19 + 0x2a987c" identifier + number_literal) ))))) )) (argument_list "(uVar16)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }" { (expression_statement "iVar13 = iVar13 - iVar4;" (assignment_expression "iVar13 = iVar13 - iVar4" identifier = (binary_expression "iVar13 - iVar4" identifier - identifier)) ;) (expression_statement "(**(code **)(pcVar19 + 0x2a9504))(7);" (call_expression "(**(code **)(pcVar19 + 0x2a9504))(7)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a9504))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a9504)" * (pointer_expression "*(code **)(pcVar19 + 0x2a9504)" * (cast_expression "(code **)(pcVar19 + 0x2a9504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a9504)" ( (binary_expression "pcVar19 + 0x2a9504" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar2 = iVar13;" (assignment_expression "iVar2 = iVar13" identifier = identifier) ;) (if_statement "if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }" if (parenthesized_expression "(iVar13 < 0)" ( (binary_expression "iVar13 < 0" identifier < number_literal) )) (compound_statement "{\n            iVar2 = iVar13 + 0x3f;\n          }" { (expression_statement "iVar2 = iVar13 + 0x3f;" (assignment_expression "iVar2 = iVar13 + 0x3f" identifier = (binary_expression "iVar13 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "puVar8 = (undefined *)(iVar2 >> 6);" (assignment_expression "puVar8 = (undefined *)(iVar2 >> 6)" identifier = (cast_expression "(undefined *)(iVar2 >> 6)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 >> 6)" ( (binary_expression "iVar2 >> 6" identifier >> number_literal) )))) ;) (if_statement "if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }" if (parenthesized_expression "(extraout_v1_09 < (int)puVar8)" ( (binary_expression "extraout_v1_09 < (int)puVar8" identifier < (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }" { (expression_statement "(**(code **)(pcVar19 + 0x2a9504))(7);" (call_expression "(**(code **)(pcVar19 + 0x2a9504))(7)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a9504))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a9504)" * (pointer_expression "*(code **)(pcVar19 + 0x2a9504)" * (cast_expression "(code **)(pcVar19 + 0x2a9504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a9504)" ( (binary_expression "pcVar19 + 0x2a9504" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_12 < 2;" (assignment_expression "bVar1 = extraout_v1_12 < 2" identifier = (binary_expression "extraout_v1_12 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n            bVar1 = iVar13 < 0x80;\n          }" else (compound_statement "{\n            bVar1 = iVar13 < 0x80;\n          }" { (expression_statement "bVar1 = iVar13 < 0x80;" (assignment_expression "bVar1 = iVar13 < 0x80" identifier = (binary_expression "iVar13 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "puVar10 = (undefined *)0x1;" (assignment_expression "puVar10 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\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 **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }" { (expression_statement "(**(code **)(pcVar19 + 0x2a9504))(7);" (call_expression "(**(code **)(pcVar19 + 0x2a9504))(7)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a9504))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a9504)" * (pointer_expression "*(code **)(pcVar19 + 0x2a9504)" * (cast_expression "(code **)(pcVar19 + 0x2a9504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a9504)" ( (binary_expression "pcVar19 + 0x2a9504" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (if_statement "if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }" if (parenthesized_expression "(extraout_v1_11 < (int)puVar8)" ( (binary_expression "extraout_v1_11 < (int)puVar8" identifier < (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }" { (expression_statement "(**(code **)(pcVar19 + 0x2a9504))(7);" (call_expression "(**(code **)(pcVar19 + 0x2a9504))(7)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a9504))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a9504)" * (pointer_expression "*(code **)(pcVar19 + 0x2a9504)" * (cast_expression "(code **)(pcVar19 + 0x2a9504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a9504)" ( (binary_expression "pcVar19 + 0x2a9504" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "puVar8 = extraout_v1_13;" (assignment_expression "puVar8 = extraout_v1_13" identifier = identifier) ;) })) (goto_statement "goto LAB_000ffd68;" goto statement_identifier ;) })) (expression_statement "iVar2 = *(int *)(pcVar19 + 0x2a8e5c);" (assignment_expression "iVar2 = *(int *)(pcVar19 + 0x2a8e5c)" identifier = (pointer_expression "*(int *)(pcVar19 + 0x2a8e5c)" * (cast_expression "(int *)(pcVar19 + 0x2a8e5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar19 + 0x2a8e5c)" ( (binary_expression "pcVar19 + 0x2a8e5c" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }" else (compound_statement "{\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }" { (expression_statement "uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);" (assignment_expression "uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7)" identifier = (call_expression "(**(code **)(pcVar19 + 0x2a9504))(7)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a9504))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a9504)" * (pointer_expression "*(code **)(pcVar19 + 0x2a9504)" * (cast_expression "(code **)(pcVar19 + 0x2a9504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a9504)" ( (binary_expression "pcVar19 + 0x2a9504" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }" if (parenthesized_expression "((int)((ulonglong)uVar21 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar21 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar21 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar21 >> 0x20)" ( (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }" { (expression_statement "pcVar20 = *(code **)(pcVar19 + 0x2a9504);" (assignment_expression "pcVar20 = *(code **)(pcVar19 + 0x2a9504)" identifier = (pointer_expression "*(code **)(pcVar19 + 0x2a9504)" * (cast_expression "(code **)(pcVar19 + 0x2a9504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a9504)" ( (binary_expression "pcVar19 + 0x2a9504" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }" if (parenthesized_expression "((uint)uVar21 < 2)" ( (binary_expression "(uint)uVar21 < 2" (cast_expression "(uint)uVar21" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }" { (expression_statement "uVar21 = (*pcVar20)(7);" (assignment_expression "uVar21 = (*pcVar20)(7)" identifier = (call_expression "(*pcVar20)(7)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;" if (parenthesized_expression "((int)((ulonglong)uVar21 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar21 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar21 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar21 >> 0x20)" ( (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_000ffd50;" goto statement_identifier ;)) (expression_statement "pcVar20 = *(code **)(pcVar19 + 0x2a9504);" (assignment_expression "pcVar20 = *(code **)(pcVar19 + 0x2a9504)" identifier = (pointer_expression "*(code **)(pcVar19 + 0x2a9504)" * (cast_expression "(code **)(pcVar19 + 0x2a9504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a9504)" ( (binary_expression "pcVar19 + 0x2a9504" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }" if (parenthesized_expression "((uint)uVar21 < 2)" ( (binary_expression "(uint)uVar21 < 2" (cast_expression "(uint)uVar21" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }" { (expression_statement "puVar8 = (undefined *)0x1;" (assignment_expression "puVar8 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000ffd68;" goto statement_identifier ;) })) })) }) (else_clause "else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }" else (compound_statement "{\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }" { (labeled_statement "LAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);" statement_identifier : (expression_statement "pcVar20 = *(code **)(pcVar19 + 0x2a9504);" (assignment_expression "pcVar20 = *(code **)(pcVar19 + 0x2a9504)" identifier = (pointer_expression "*(code **)(pcVar19 + 0x2a9504)" * (cast_expression "(code **)(pcVar19 + 0x2a9504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a9504)" ( (binary_expression "pcVar19 + 0x2a9504" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar21 = (*pcVar20)(7);" (assignment_expression "uVar21 = (*pcVar20)(7)" identifier = (call_expression "(*pcVar20)(7)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }" if (parenthesized_expression "(((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2))" ( (binary_expression "((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)" (parenthesized_expression "((int)((ulonglong)uVar21 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar21 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar21 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar21 >> 0x20)" ( (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar21 < 2)" ( (binary_expression "(uint)uVar21 < 2" (cast_expression "(uint)uVar21" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }" { (expression_statement "(**(code **)(pcVar19 + 0x2a9504))(7);" (call_expression "(**(code **)(pcVar19 + 0x2a9504))(7)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a9504))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a9504)" * (pointer_expression "*(code **)(pcVar19 + 0x2a9504)" * (cast_expression "(code **)(pcVar19 + 0x2a9504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a9504)" ( (binary_expression "pcVar19 + 0x2a9504" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "puVar8 = extraout_v1_10;" (assignment_expression "puVar8 = extraout_v1_10" identifier = identifier) ;) }) (else_clause "else {\n            puVar8 = (undefined *)0x2;\n          }" else (compound_statement "{\n            puVar8 = (undefined *)0x2;\n          }" { (expression_statement "puVar8 = (undefined *)0x2;" (assignment_expression "puVar8 = (undefined *)0x2" identifier = (cast_expression "(undefined *)0x2" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (labeled_statement "LAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);" statement_identifier : (expression_statement "iVar2 = *(int *)(pcVar19 + 0x2a8e5c);" (assignment_expression "iVar2 = *(int *)(pcVar19 + 0x2a8e5c)" identifier = (pointer_expression "*(int *)(pcVar19 + 0x2a8e5c)" * (cast_expression "(int *)(pcVar19 + 0x2a8e5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar19 + 0x2a8e5c)" ( (binary_expression "pcVar19 + 0x2a8e5c" identifier + number_literal) ))))) ;)) (expression_statement "puVar10 = puVar8;" (assignment_expression "puVar10 = puVar8" identifier = identifier) ;) }))) (expression_statement "puStack_f4 = (undefined *)0x1;" (assignment_expression "puStack_f4 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puStack_f0 = &uStack_110;" (assignment_expression "puStack_f0 = &uStack_110" identifier = (pointer_expression "&uStack_110" & identifier)) ;) (expression_statement "ppuVar5 = &puStack_104;" (assignment_expression "ppuVar5 = &puStack_104" identifier = (pointer_expression "&puStack_104" & identifier)) ;) (expression_statement "puStack_104 = puVar3;" (assignment_expression "puStack_104 = puVar3" identifier = identifier) ;) (expression_statement "ppuStack_100 = ppuVar6;" (assignment_expression "ppuStack_100 = ppuVar6" identifier = identifier) ;) (expression_statement "puStack_fc = puVar9;" (assignment_expression "puStack_fc = puVar9" identifier = identifier) ;) (expression_statement "uStack_f8 = uVar16;" (assignment_expression "uStack_f8 = uVar16" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);" (call_expression "(**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a9560))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a9560)" * (pointer_expression "*(code **)(pcVar19 + 0x2a9560)" * (cast_expression "(code **)(pcVar19 + 0x2a9560)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a9560)" ( (binary_expression "pcVar19 + 0x2a9560" identifier + number_literal) ))))) )) (argument_list "(iVar2 + -0x1ca0,ppuVar5,puVar10,0)" ( (binary_expression "iVar2 + -0x1ca0" identifier + number_literal) , identifier , identifier , number_literal ))) ;) (expression_statement "puVar9 = puStack_f4;" (assignment_expression "puVar9 = puStack_f4" identifier = identifier) ;) }))) (expression_statement "iVar2 = iStack_ec;" (assignment_expression "iVar2 = iStack_ec" identifier = identifier) ;) (if_statement "if (iStack_ec == *piVar15) {\n        return puVar9;\n      }" if (parenthesized_expression "(iStack_ec == *piVar15)" ( (binary_expression "iStack_ec == *piVar15" identifier == (pointer_expression "*piVar15" * identifier)) )) (compound_statement "{\n        return puVar9;\n      }" { (return_statement "return puVar9;" return identifier ;) })) (goto_statement "goto LAB_000fff14;" goto statement_identifier ;) })) (expression_statement "(**(code **)(pcVar19 + 0x2a99d0))\n              (*(int *)(pcVar19 + 0x2a8cb0) + 0x3930,*(int *)(pcVar19 + 0x2a8cac) + -0x5168,0x481,\n               *(int *)(pcVar19 + 0x2a8cac) + -0x5020);" (call_expression "(**(code **)(pcVar19 + 0x2a99d0))\n              (*(int *)(pcVar19 + 0x2a8cb0) + 0x3930,*(int *)(pcVar19 + 0x2a8cac) + -0x5168,0x481,\n               *(int *)(pcVar19 + 0x2a8cac) + -0x5020)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a99d0))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a99d0)" * (pointer_expression "*(code **)(pcVar19 + 0x2a99d0)" * (cast_expression "(code **)(pcVar19 + 0x2a99d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a99d0)" ( (binary_expression "pcVar19 + 0x2a99d0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar19 + 0x2a8cb0) + 0x3930,*(int *)(pcVar19 + 0x2a8cac) + -0x5168,0x481,\n               *(int *)(pcVar19 + 0x2a8cac) + -0x5020)" ( (binary_expression "*(int *)(pcVar19 + 0x2a8cb0) + 0x3930" (pointer_expression "*(int *)(pcVar19 + 0x2a8cb0)" * (cast_expression "(int *)(pcVar19 + 0x2a8cb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar19 + 0x2a8cb0)" ( (binary_expression "pcVar19 + 0x2a8cb0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar19 + 0x2a8cac) + -0x5168" (pointer_expression "*(int *)(pcVar19 + 0x2a8cac)" * (cast_expression "(int *)(pcVar19 + 0x2a8cac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar19 + 0x2a8cac)" ( (binary_expression "pcVar19 + 0x2a8cac" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar19 + 0x2a8cac) + -0x5020" (pointer_expression "*(int *)(pcVar19 + 0x2a8cac)" * (cast_expression "(int *)(pcVar19 + 0x2a8cac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar19 + 0x2a8cac)" ( (binary_expression "pcVar19 + 0x2a8cac" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "puVar10 = (undefined *)0x480;" (assignment_expression "puVar10 = (undefined *)0x480" identifier = (cast_expression "(undefined *)0x480" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppuVar5 = (undefined **)(*(int *)(pcVar19 + 0x2a8cac) + -0x5168);" (assignment_expression "ppuVar5 = (undefined **)(*(int *)(pcVar19 + 0x2a8cac) + -0x5168)" identifier = (cast_expression "(undefined **)(*(int *)(pcVar19 + 0x2a8cac) + -0x5168)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar19 + 0x2a8cac) + -0x5168)" ( (binary_expression "*(int *)(pcVar19 + 0x2a8cac) + -0x5168" (pointer_expression "*(int *)(pcVar19 + 0x2a8cac)" * (cast_expression "(int *)(pcVar19 + 0x2a8cac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar19 + 0x2a8cac)" ( (binary_expression "pcVar19 + 0x2a8cac" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar2 = *(int *)(pcVar19 + 0x2a8cac) + -0x50fc;" (assignment_expression "iVar2 = *(int *)(pcVar19 + 0x2a8cac) + -0x50fc" identifier = (binary_expression "*(int *)(pcVar19 + 0x2a8cac) + -0x50fc" (pointer_expression "*(int *)(pcVar19 + 0x2a8cac)" * (cast_expression "(int *)(pcVar19 + 0x2a8cac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar19 + 0x2a8cac)" ( (binary_expression "pcVar19 + 0x2a8cac" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar19 + 0x2a99d0))();" (call_expression "(**(code **)(pcVar19 + 0x2a99d0))()" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a99d0))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a99d0)" * (pointer_expression "*(code **)(pcVar19 + 0x2a99d0)" * (cast_expression "(code **)(pcVar19 + 0x2a99d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a99d0)" ( (binary_expression "pcVar19 + 0x2a99d0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_000fff14:\n  pcVar19 = *(code **)(pcVar19 + 0x2a942c);" statement_identifier : (expression_statement "pcVar19 = *(code **)(pcVar19 + 0x2a942c);" (assignment_expression "pcVar19 = *(code **)(pcVar19 + 0x2a942c)" identifier = (pointer_expression "*(code **)(pcVar19 + 0x2a942c)" * (cast_expression "(code **)(pcVar19 + 0x2a942c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a942c)" ( (binary_expression "pcVar19 + 0x2a942c" identifier + number_literal) ))))) ;)) (expression_statement "(*pcVar19)();" (call_expression "(*pcVar19)()" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (*(int *)(iVar2 + 700) == 0) {\n    (**(code **)(pcVar19 + 0x2a8df4))();\n  }" if (parenthesized_expression "(*(int *)(iVar2 + 700) == 0)" ( (binary_expression "*(int *)(iVar2 + 700) == 0" (pointer_expression "*(int *)(iVar2 + 700)" * (cast_expression "(int *)(iVar2 + 700)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 700)" ( (binary_expression "iVar2 + 700" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    (**(code **)(pcVar19 + 0x2a8df4))();\n  }" { (expression_statement "(**(code **)(pcVar19 + 0x2a8df4))();" (call_expression "(**(code **)(pcVar19 + 0x2a8df4))()" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a8df4))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a8df4)" * (pointer_expression "*(code **)(pcVar19 + 0x2a8df4)" * (cast_expression "(code **)(pcVar19 + 0x2a8df4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a8df4)" ( (binary_expression "pcVar19 + 0x2a8df4" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "puVar9 = ppuVar5[1];" (assignment_expression "puVar9 = ppuVar5[1]" identifier = (subscript_expression "ppuVar5[1]" identifier [ number_literal ])) ;) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (if_statement "if (0 < (int)puVar9) {\n    do {\n      iVar4 = (**(code **)(pcVar19 + 0x2a8e18))\n                        (iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      puVar8 = *ppuVar5;\n      puVar9 = (undefined *)0x0;\n      if (0 < (int)puVar8) {\n        iVar12 = *(int *)(iVar2 + 0x2d0);\n        iVar7 = *(int *)(iVar2 + 0x2c0);\n        iVar11 = *(int *)(iVar12 + 0x34);\n        do {\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        } while (puVar9 != puVar8);\n      }\n      iVar4 = (**(code **)(pcVar19 + 0x2a92c4))(iVar2,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      iVar13 = iVar13 + 1;\n      puVar9 = (undefined *)(uint)(iVar13 < (int)ppuVar5[1]);\n    } while (puVar9 != (undefined *)0x0);\n  }" if (parenthesized_expression "(0 < (int)puVar9)" ( (binary_expression "0 < (int)puVar9" number_literal < (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    do {\n      iVar4 = (**(code **)(pcVar19 + 0x2a8e18))\n                        (iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      puVar8 = *ppuVar5;\n      puVar9 = (undefined *)0x0;\n      if (0 < (int)puVar8) {\n        iVar12 = *(int *)(iVar2 + 0x2d0);\n        iVar7 = *(int *)(iVar2 + 0x2c0);\n        iVar11 = *(int *)(iVar12 + 0x34);\n        do {\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        } while (puVar9 != puVar8);\n      }\n      iVar4 = (**(code **)(pcVar19 + 0x2a92c4))(iVar2,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      iVar13 = iVar13 + 1;\n      puVar9 = (undefined *)(uint)(iVar13 < (int)ppuVar5[1]);\n    } while (puVar9 != (undefined *)0x0);\n  }" { (do_statement "do {\n      iVar4 = (**(code **)(pcVar19 + 0x2a8e18))\n                        (iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      puVar8 = *ppuVar5;\n      puVar9 = (undefined *)0x0;\n      if (0 < (int)puVar8) {\n        iVar12 = *(int *)(iVar2 + 0x2d0);\n        iVar7 = *(int *)(iVar2 + 0x2c0);\n        iVar11 = *(int *)(iVar12 + 0x34);\n        do {\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        } while (puVar9 != puVar8);\n      }\n      iVar4 = (**(code **)(pcVar19 + 0x2a92c4))(iVar2,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      iVar13 = iVar13 + 1;\n      puVar9 = (undefined *)(uint)(iVar13 < (int)ppuVar5[1]);\n    } while (puVar9 != (undefined *)0x0);" do (compound_statement "{\n      iVar4 = (**(code **)(pcVar19 + 0x2a8e18))\n                        (iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      puVar8 = *ppuVar5;\n      puVar9 = (undefined *)0x0;\n      if (0 < (int)puVar8) {\n        iVar12 = *(int *)(iVar2 + 0x2d0);\n        iVar7 = *(int *)(iVar2 + 0x2c0);\n        iVar11 = *(int *)(iVar12 + 0x34);\n        do {\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        } while (puVar9 != puVar8);\n      }\n      iVar4 = (**(code **)(pcVar19 + 0x2a92c4))(iVar2,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      iVar13 = iVar13 + 1;\n      puVar9 = (undefined *)(uint)(iVar13 < (int)ppuVar5[1]);\n    }" { (expression_statement "iVar4 = (**(code **)(pcVar19 + 0x2a8e18))\n                        (iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10);" (assignment_expression "iVar4 = (**(code **)(pcVar19 + 0x2a8e18))\n                        (iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10)" identifier = (call_expression "(**(code **)(pcVar19 + 0x2a8e18))\n                        (iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a8e18))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a8e18)" * (pointer_expression "*(code **)(pcVar19 + 0x2a8e18)" * (cast_expression "(code **)(pcVar19 + 0x2a8e18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a8e18)" ( (binary_expression "pcVar19 + 0x2a8e18" identifier + number_literal) ))))) )) (argument_list "(iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10)" ( identifier , (subscript_expression "ppuVar5[2]" identifier [ number_literal ]) , (binary_expression "ppuVar5[3] + iVar13" (subscript_expression "ppuVar5[3]" identifier [ number_literal ]) + identifier) , (pointer_expression "*ppuVar5" * identifier) , number_literal , identifier )))) ;) (if_statement "if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        return (undefined *)0x0;\n      }" { (return_statement "return (undefined *)0x0;" return (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "puVar8 = *ppuVar5;" (assignment_expression "puVar8 = *ppuVar5" identifier = (pointer_expression "*ppuVar5" * identifier)) ;) (expression_statement "puVar9 = (undefined *)0x0;" (assignment_expression "puVar9 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0 < (int)puVar8) {\n        iVar12 = *(int *)(iVar2 + 0x2d0);\n        iVar7 = *(int *)(iVar2 + 0x2c0);\n        iVar11 = *(int *)(iVar12 + 0x34);\n        do {\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        } while (puVar9 != puVar8);\n      }" if (parenthesized_expression "(0 < (int)puVar8)" ( (binary_expression "0 < (int)puVar8" number_literal < (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        iVar12 = *(int *)(iVar2 + 0x2d0);\n        iVar7 = *(int *)(iVar2 + 0x2c0);\n        iVar11 = *(int *)(iVar12 + 0x34);\n        do {\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        } while (puVar9 != puVar8);\n      }" { (expression_statement "iVar12 = *(int *)(iVar2 + 0x2d0);" (assignment_expression "iVar12 = *(int *)(iVar2 + 0x2d0)" identifier = (pointer_expression "*(int *)(iVar2 + 0x2d0)" * (cast_expression "(int *)(iVar2 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2d0)" ( (binary_expression "iVar2 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(iVar2 + 0x2c0);" (assignment_expression "iVar7 = *(int *)(iVar2 + 0x2c0)" identifier = (pointer_expression "*(int *)(iVar2 + 0x2c0)" * (cast_expression "(int *)(iVar2 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2c0)" ( (binary_expression "iVar2 + 0x2c0" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = *(int *)(iVar12 + 0x34);" (assignment_expression "iVar11 = *(int *)(iVar12 + 0x34)" identifier = (pointer_expression "*(int *)(iVar12 + 0x34)" * (cast_expression "(int *)(iVar12 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x34)" ( (binary_expression "iVar12 + 0x34" identifier + number_literal) ))))) ;) (do_statement "do {\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        } while (puVar9 != puVar8);" do (compound_statement "{\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        }" { (expression_statement "puVar9 = puVar9 + 1;" (assignment_expression "puVar9 = puVar9 + 1" identifier = (binary_expression "puVar9 + 1" identifier + number_literal)) ;) (if_statement "if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }" { (expression_statement "*(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;" (assignment_expression "*(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0" (pointer_expression "*(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4)" * (cast_expression "(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + *(int *)(iVar12 + 0x38) * 4)" ( (binary_expression "iVar4 + *(int *)(iVar12 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar12 + 0x38) * 4" (pointer_expression "*(int *)(iVar12 + 0x38)" * (cast_expression "(int *)(iVar12 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x38)" ( (binary_expression "iVar12 + 0x38" identifier + number_literal) )))) * number_literal)) )))) = number_literal) ;) })) (expression_statement "iVar4 = iVar4 + iVar7 * 4;" (assignment_expression "iVar4 = iVar4 + iVar7 * 4" identifier = (binary_expression "iVar4 + iVar7 * 4" identifier + (binary_expression "iVar7 * 4" identifier * number_literal))) ;) }) while (parenthesized_expression "(puVar9 != puVar8)" ( (binary_expression "puVar9 != puVar8" identifier != identifier) )) ;) })) (expression_statement "iVar4 = (**(code **)(pcVar19 + 0x2a92c4))(iVar2,puVar10);" (assignment_expression "iVar4 = (**(code **)(pcVar19 + 0x2a92c4))(iVar2,puVar10)" identifier = (call_expression "(**(code **)(pcVar19 + 0x2a92c4))(iVar2,puVar10)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a92c4))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a92c4)" * (pointer_expression "*(code **)(pcVar19 + 0x2a92c4)" * (cast_expression "(code **)(pcVar19 + 0x2a92c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a92c4)" ( (binary_expression "pcVar19 + 0x2a92c4" identifier + number_literal) ))))) )) (argument_list "(iVar2,puVar10)" ( identifier , identifier )))) ;) (if_statement "if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        return (undefined *)0x0;\n      }" { (return_statement "return (undefined *)0x0;" return (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (expression_statement "puVar9 = (undefined *)(uint)(iVar13 < (int)ppuVar5[1]);" (assignment_expression "puVar9 = (undefined *)(uint)(iVar13 < (int)ppuVar5[1])" identifier = (cast_expression "(undefined *)(uint)(iVar13 < (int)ppuVar5[1])" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(iVar13 < (int)ppuVar5[1])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar13 < (int)ppuVar5[1])" ( (binary_expression "iVar13 < (int)ppuVar5[1]" identifier < (cast_expression "(int)ppuVar5[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppuVar5[1]" identifier [ number_literal ]))) ))))) ;) }) while (parenthesized_expression "(puVar9 != (undefined *)0x0)" ( (binary_expression "puVar9 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (return_statement "return puVar9;" 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 SetImageViewIterator(ImageView *destination,SetImageViewMethod set,void *context)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  MagickBooleanType MVar4;\n  ImageView *pIVar5;\n  int iVar6;\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  int extraout_v1_04;\n  Image *extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  Image *extraout_v1_08;\n  int extraout_v1_09;\n  Image *extraout_v1_10;\n  int extraout_v1_11;\n  int extraout_v1_12;\n  Image *extraout_v1_13;\n  ImageView **ppIVar7;\n  ImageView **ppIVar8;\n  int iVar9;\n  Image *pIVar10;\n  Image *pIVar11;\n  ImageView *pIVar12;\n  undefined *in_a3;\n  int iVar13;\n  int iVar14;\n  ImageView *unaff_s0;\n  int iVar15;\n  int *piVar16;\n  int *piVar17;\n  ImageView **unaff_s2;\n  Image *unaff_s3;\n  undefined *unaff_s4;\n  Image *unaff_s5;\n  Image *pIVar18;\n  size_t sVar19;\n  Image *unaff_s6;\n  Image *pIVar20;\n  undefined *puVar21;\n  code *pcVar22;\n  code *pcVar23;\n  undefined8 uVar24;\n  undefined4 uStack_110;\n  undefined4 uStack_10c;\n  ImageView *pIStack_104;\n  ImageView **ppIStack_100;\n  Image *pIStack_fc;\n  Image *pIStack_f8;\n  MagickBooleanType MStack_f4;\n  undefined4 *puStack_f0;\n  int iStack_ec;\n  ImageView *pIStack_e8;\n  int *piStack_e4;\n  ImageView **ppIStack_e0;\n  Image *pIStack_dc;\n  undefined *puStack_d8;\n  Image *pIStack_d4;\n  Image *pIStack_d0;\n  code *pcStack_cc;\n  undefined *puStack_b8;\n  undefined4 uStack_b0;\n  undefined4 uStack_ac;\n  ImageView *pIStack_a8;\n  ImageView **ppIStack_a4;\n  Image *pIStack_a0;\n  undefined *puStack_9c;\n  Image *pIStack_98;\n  MagickBooleanType MStack_94;\n  undefined4 *puStack_90;\n  ImageView *pIStack_8c;\n  ImageView *pIStack_88;\n  undefined *puStack_84;\n  ImageView **ppIStack_80;\n  Image *pIStack_7c;\n  undefined *puStack_78;\n  Image *pIStack_74;\n  Image *pIStack_70;\n  MagickOffsetType progress;\n  ImageView *local_3c;\n  SetImageViewMethod local_38;\n  void *local_34;\n  Image *local_30;\n  MagickBooleanType local_2c;\n  MagickOffsetType *local_28;\n  ImageView *local_24;\n  \n  puVar2 = PTR___stack_chk_guard_003a9230;\n  local_24 = *(ImageView **)PTR___stack_chk_guard_003a9230;\n  if (destination == (ImageView *)0x0) {\nLAB_000ff904:\n    pIVar10 = (Image *)0x37a;\n    in_a3 = PTR_s_t_to_left_003a88e4 + -0x4fec;\n    ppIVar7 = (ImageView **)(PTR_s_t_to_left_003a88e4 + -0x5168);\n    pIVar5 = (ImageView *)(PTR_s_t_to_left_003a88e4 + -0x5080);\n    (*(code *)PTR___assert_fail_003a9608)();\n  }\n  else {\n    unaff_s0 = destination;\n    if (destination->signature != 0xabacadab) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);\n      goto LAB_000ff904;\n    }\n    ppIVar7 = (ImageView **)set;\n    pIVar10 = (Image *)context;\n    if (set == (SetImageViewMethod)0x0) {\nLAB_000ff6d0:\n      MVar4 = MagickFalse;\n      context = unaff_s4;\n    }\n    else {\n      unaff_s3 = destination->image;\n      ppIVar7 = (ImageView **)0x1;\n      pIVar10 = (Image *)destination->exception;\n      iVar3 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = (undefined *)context;\n      if (iVar3 == 0) goto LAB_000ff6d0;\n      unaff_s5 = (Image *)(destination->extent).height;\n      unaff_s6 = (Image *)(destination->extent).y;\n      progress._4_4_ = 0;\n      progress._0_4_ = 0;\n      iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar3 == 4) ||\n          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3)) &&\n         ((iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 4 ||\n          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3)))) {\n        iVar15 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar3 = iVar15;\n        if (iVar15 < 0) {\n          iVar3 = iVar15 + 0x3f;\n        }\n        unaff_s6 = (Image *)(iVar3 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar15 < 0x80;\n        }\n        unaff_s5 = (Image *)(bVar1 ^ 1);\n        pIVar10 = (Image *)0x1;\n        if ((unaff_s5 != (Image *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), pIVar10 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          pIVar10 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n          uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n            pIVar10 = (Image *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          pIVar10 = extraout_v1_00;\n        }\n        else {\n          pIVar10 = (Image *)0x2;\n        }\n      }\nLAB_000ff780:\n      in_a3 = (undefined *)0x0;\n      local_2c = MagickTrue;\n      local_28 = &progress;\n      ppIVar7 = &local_3c;\n      local_3c = destination;\n      local_38 = set;\n      local_34 = context;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      MVar4 = local_2c;\n    }\n    pIVar5 = local_24;\n    unaff_s2 = (ImageView **)set;\n    unaff_s4 = (undefined *)context;\n    if (local_24 == *(ImageView **)puVar2) {\n      return MVar4;\n    }\n  }\n  puVar21 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  puStack_b8 = puVar21 + 0x2b0f7c;\n  puStack_84 = puVar2;\n  piVar16 = *(int **)(puVar21 + 0x2a98fc);\n  pIStack_8c = (ImageView *)*piVar16;\n  pIStack_88 = unaff_s0;\n  ppIStack_80 = unaff_s2;\n  pIStack_7c = unaff_s3;\n  puStack_78 = unaff_s4;\n  pIStack_74 = unaff_s5;\n  pIStack_70 = unaff_s6;\n  if (pIVar5 == (ImageView *)0x0) {\n    MVar4 = (**(code **)(puVar21 + 0x2a9cd4))\n                      (*(int *)(puVar21 + 0x2a8fb0) + -0x50fc,*(int *)(puVar21 + 0x2a8fb0) + -0x5168\n                       ,0x3fa,*(int *)(puVar21 + 0x2a8fb0) + -0x5008);\n    return MVar4;\n  }\n  if (pIVar5->signature != 0xabacadab) {\n    MVar4 = (**(code **)(puVar21 + 0x2a9cd4))\n                      (*(int *)(puVar21 + 0x2a8fb4) + 0x3930,*(int *)(puVar21 + 0x2a8fb0) + -0x5168,\n                       0x3fb,*(int *)(puVar21 + 0x2a8fb0) + -0x5008);\n    return MVar4;\n  }\n  ppIVar8 = ppIVar7;\n  pIVar11 = pIVar10;\n  pIVar20 = unaff_s6;\n  if (pIVar10 == (Image *)0x0) {\nLAB_000ff9c8:\n    MVar4 = MagickFalse;\n    ppIVar7 = unaff_s2;\n    in_a3 = unaff_s4;\n  }\n  else {\n    pIVar18 = (Image *)ppIVar7[5];\n    ppIVar8 = (ImageView **)0x1;\n    pIVar11 = (Image *)ppIVar7[7];\n    pIVar20 = pIVar5->image;\n    iVar3 = (**(code **)(puVar21 + 0x2a9ef0))(pIVar18);\n    unaff_s2 = ppIVar7;\n    unaff_s4 = in_a3;\n    unaff_s5 = pIVar18;\n    if (iVar3 == 0) goto LAB_000ff9c8;\n    sVar19 = (pIVar5->extent).height;\n    iVar15 = (pIVar5->extent).y;\n    uStack_ac = 0;\n    uStack_b0 = 0;\n    iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar20);\n    if (((iVar3 == 4) || (iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar20), iVar3 == 3)) &&\n       ((iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar18), iVar3 == 4 ||\n        (iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar18), iVar3 == 3)))) {\n      iVar15 = sVar19 - iVar15;\n      (**(code **)(puStack_b8 + -0x7774))(7);\n      iVar3 = iVar15;\n      if (iVar15 < 0) {\n        iVar3 = iVar15 + 0x3f;\n      }\n      unaff_s5 = (Image *)(iVar3 >> 6);\n      if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }\n      pIVar11 = (Image *)0x1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        pIVar18 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          pIVar18 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }\n      iVar3 = *(int *)(puStack_b8 + -0x7e1c);\n    }\n    else {\n      uVar24 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n        pcVar22 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar24 < 2) {\n          uVar24 = (*pcVar22)(7);\n          if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar22 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar24 < 2) {\n            unaff_s5 = (Image *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar22 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar24 = (*pcVar22)(7);\n      if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (Image *)0x2;\n      }\nLAB_000ffa7c:\n      iVar3 = *(int *)(puStack_b8 + -0x7e1c);\n      pIVar11 = unaff_s5;\n      unaff_s5 = pIVar18;\n    }\n    MStack_94 = MagickTrue;\n    puStack_90 = &uStack_b0;\n    ppIVar8 = &pIStack_a8;\n    pIStack_a8 = pIVar5;\n    ppIStack_a4 = ppIVar7;\n    pIStack_a0 = pIVar10;\n    puStack_9c = in_a3;\n    pIStack_98 = pIVar20;\n    (**(code **)(puStack_b8 + -0x7718))(iVar3 + -0x1ecc,ppIVar8,pIVar11,0);\n    MVar4 = MStack_94;\n  }\n  if (pIStack_8c == (ImageView *)*piVar16) {\n    return MVar4;\n  }\n  pcVar22 = *(code **)(puStack_b8 + -0x784c);\n  pcVar23 = UpdateImageViewIterator;\n  pIVar12 = pIStack_8c;\n  (*pcVar22)();\n  piVar17 = *(int **)(pcVar22 + 0x2a95f8);\n  iStack_ec = *piVar17;\n  pIStack_e8 = pIVar5;\n  piStack_e4 = piVar16;\n  ppIStack_e0 = ppIVar7;\n  pIStack_dc = pIVar10;\n  puStack_d8 = in_a3;\n  pIStack_d4 = unaff_s5;\n  pIStack_d0 = pIVar20;\n  pcStack_cc = pcVar23;\n  if (pIVar12 != (ImageView *)0x0) {\n    if (pIVar12->signature == 0xabacadab) {\n      ppIVar7 = ppIVar8;\n      pIVar10 = pIVar11;\n      if (ppIVar8 == (ImageView **)0x0) {\nLAB_000ffcbc:\n        MVar4 = MagickFalse;\n      }\n      else {\n        pIVar20 = pIVar12->image;\n        ppIVar7 = (ImageView **)0x1;\n        pIVar10 = (Image *)pIVar12->exception;\n        iVar3 = (**(code **)(pcVar22 + 0x2a9bec))(pIVar20);\n        if (iVar3 == 0) goto LAB_000ffcbc;\n        sVar19 = (pIVar12->extent).height;\n        iVar15 = (pIVar12->extent).y;\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20);\n        if (((iVar3 == 4) || (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)) &&\n           ((iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 4 ||\n            (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)))) {\n          iVar15 = sVar19 - iVar15;\n          (**(code **)(pcVar22 + 0x2a9504))(7);\n          iVar3 = iVar15;\n          if (iVar15 < 0) {\n            iVar3 = iVar15 + 0x3f;\n          }\n          pIVar18 = (Image *)(iVar3 >> 6);\n          if (extraout_v1_09 < (int)pIVar18) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar15 < 0x80;\n          }\n          pIVar10 = (Image *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)pIVar18) {\n              (**(code **)(pcVar22 + 0x2a9504))(7);\n              pIVar18 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar3 = *(int *)(pcVar22 + 0x2a8e5c);\n        }\n        else {\n          uVar24 = (**(code **)(pcVar22 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n            if ((uint)uVar24 < 2) {\n              uVar24 = (*pcVar23)(7);\n              if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n              if ((uint)uVar24 < 2) {\n                pIVar18 = (Image *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n          }\n          uVar24 = (*pcVar23)(7);\n          if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            pIVar18 = extraout_v1_10;\n          }\n          else {\n            pIVar18 = (Image *)0x2;\n          }\nLAB_000ffd68:\n          iVar3 = *(int *)(pcVar22 + 0x2a8e5c);\n          pIVar10 = pIVar18;\n        }\n        MStack_f4 = MagickTrue;\n        puStack_f0 = &uStack_110;\n        ppIVar7 = &pIStack_104;\n        pIStack_104 = pIVar12;\n        ppIStack_100 = ppIVar8;\n        pIStack_fc = pIVar11;\n        pIStack_f8 = pIVar20;\n        (**(code **)(pcVar22 + 0x2a9560))(iVar3 + -0x1ca0,ppIVar7,pIVar10,0);\n        MVar4 = MStack_f4;\n      }\n      iVar3 = iStack_ec;\n      if (iStack_ec == *piVar17) {\n        return MVar4;\n      }\n      goto LAB_000fff14;\n    }\n    (**(code **)(pcVar22 + 0x2a99d0))\n              (*(int *)(pcVar22 + 0x2a8cb0) + 0x3930,*(int *)(pcVar22 + 0x2a8cac) + -0x5168,0x481,\n               *(int *)(pcVar22 + 0x2a8cac) + -0x5020);\n  }\n  pIVar10 = (Image *)0x480;\n  ppIVar7 = (ImageView **)(*(int *)(pcVar22 + 0x2a8cac) + -0x5168);\n  iVar3 = *(int *)(pcVar22 + 0x2a8cac) + -0x50fc;\n  (**(code **)(pcVar22 + 0x2a99d0))();\nLAB_000fff14:\n  pcVar22 = *(code **)(pcVar22 + 0x2a942c);\n  (*pcVar22)();\n  if (*(int *)(iVar3 + 700) == 0) {\n    (**(code **)(pcVar22 + 0x2a8df4))();\n  }\n  pIVar5 = ppIVar7[1];\n  iVar15 = 0;\n  if (0 < (int)pIVar5) {\n    do {\n      iVar6 = (**(code **)(pcVar22 + 0x2a8e18))\n                        (iVar3,ppIVar7[2],(int)&ppIVar7[3]->description + iVar15,*ppIVar7,1,pIVar10)\n      ;\n      if (iVar6 == 0) {\n        return MagickFalse;\n      }\n      pIVar12 = *ppIVar7;\n      pIVar5 = (ImageView *)0x0;\n      if (0 < (int)pIVar12) {\n        iVar14 = *(int *)(iVar3 + 0x2d0);\n        iVar9 = *(int *)(iVar3 + 0x2c0);\n        iVar13 = *(int *)(iVar14 + 0x34);\n        do {\n          pIVar5 = (ImageView *)((int)&pIVar5->description + 1);\n          if (iVar13 != 0) {\n            *(undefined4 *)(iVar6 + *(int *)(iVar14 + 0x38) * 4) = 0;\n          }\n          iVar6 = iVar6 + iVar9 * 4;\n        } while (pIVar5 != pIVar12);\n      }\n      iVar6 = (**(code **)(pcVar22 + 0x2a92c4))(iVar3,pIVar10);\n      if (iVar6 == 0) {\n        return MagickFalse;\n      }\n      iVar15 = iVar15 + 1;\n      pIVar5 = (ImageView *)(uint)(iVar15 < (int)ppIVar7[1]);\n    } while (pIVar5 != (ImageView *)0x0);\n  }\n  return (MagickBooleanType)pIVar5;\n}\n\n" comment comment comment comment comment (function_definition "MagickBooleanType SetImageViewIterator(ImageView *destination,SetImageViewMethod set,void *context)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  MagickBooleanType MVar4;\n  ImageView *pIVar5;\n  int iVar6;\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  int extraout_v1_04;\n  Image *extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  Image *extraout_v1_08;\n  int extraout_v1_09;\n  Image *extraout_v1_10;\n  int extraout_v1_11;\n  int extraout_v1_12;\n  Image *extraout_v1_13;\n  ImageView **ppIVar7;\n  ImageView **ppIVar8;\n  int iVar9;\n  Image *pIVar10;\n  Image *pIVar11;\n  ImageView *pIVar12;\n  undefined *in_a3;\n  int iVar13;\n  int iVar14;\n  ImageView *unaff_s0;\n  int iVar15;\n  int *piVar16;\n  int *piVar17;\n  ImageView **unaff_s2;\n  Image *unaff_s3;\n  undefined *unaff_s4;\n  Image *unaff_s5;\n  Image *pIVar18;\n  size_t sVar19;\n  Image *unaff_s6;\n  Image *pIVar20;\n  undefined *puVar21;\n  code *pcVar22;\n  code *pcVar23;\n  undefined8 uVar24;\n  undefined4 uStack_110;\n  undefined4 uStack_10c;\n  ImageView *pIStack_104;\n  ImageView **ppIStack_100;\n  Image *pIStack_fc;\n  Image *pIStack_f8;\n  MagickBooleanType MStack_f4;\n  undefined4 *puStack_f0;\n  int iStack_ec;\n  ImageView *pIStack_e8;\n  int *piStack_e4;\n  ImageView **ppIStack_e0;\n  Image *pIStack_dc;\n  undefined *puStack_d8;\n  Image *pIStack_d4;\n  Image *pIStack_d0;\n  code *pcStack_cc;\n  undefined *puStack_b8;\n  undefined4 uStack_b0;\n  undefined4 uStack_ac;\n  ImageView *pIStack_a8;\n  ImageView **ppIStack_a4;\n  Image *pIStack_a0;\n  undefined *puStack_9c;\n  Image *pIStack_98;\n  MagickBooleanType MStack_94;\n  undefined4 *puStack_90;\n  ImageView *pIStack_8c;\n  ImageView *pIStack_88;\n  undefined *puStack_84;\n  ImageView **ppIStack_80;\n  Image *pIStack_7c;\n  undefined *puStack_78;\n  Image *pIStack_74;\n  Image *pIStack_70;\n  MagickOffsetType progress;\n  ImageView *local_3c;\n  SetImageViewMethod local_38;\n  void *local_34;\n  Image *local_30;\n  MagickBooleanType local_2c;\n  MagickOffsetType *local_28;\n  ImageView *local_24;\n  \n  puVar2 = PTR___stack_chk_guard_003a9230;\n  local_24 = *(ImageView **)PTR___stack_chk_guard_003a9230;\n  if (destination == (ImageView *)0x0) {\nLAB_000ff904:\n    pIVar10 = (Image *)0x37a;\n    in_a3 = PTR_s_t_to_left_003a88e4 + -0x4fec;\n    ppIVar7 = (ImageView **)(PTR_s_t_to_left_003a88e4 + -0x5168);\n    pIVar5 = (ImageView *)(PTR_s_t_to_left_003a88e4 + -0x5080);\n    (*(code *)PTR___assert_fail_003a9608)();\n  }\n  else {\n    unaff_s0 = destination;\n    if (destination->signature != 0xabacadab) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);\n      goto LAB_000ff904;\n    }\n    ppIVar7 = (ImageView **)set;\n    pIVar10 = (Image *)context;\n    if (set == (SetImageViewMethod)0x0) {\nLAB_000ff6d0:\n      MVar4 = MagickFalse;\n      context = unaff_s4;\n    }\n    else {\n      unaff_s3 = destination->image;\n      ppIVar7 = (ImageView **)0x1;\n      pIVar10 = (Image *)destination->exception;\n      iVar3 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = (undefined *)context;\n      if (iVar3 == 0) goto LAB_000ff6d0;\n      unaff_s5 = (Image *)(destination->extent).height;\n      unaff_s6 = (Image *)(destination->extent).y;\n      progress._4_4_ = 0;\n      progress._0_4_ = 0;\n      iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar3 == 4) ||\n          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3)) &&\n         ((iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 4 ||\n          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3)))) {\n        iVar15 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar3 = iVar15;\n        if (iVar15 < 0) {\n          iVar3 = iVar15 + 0x3f;\n        }\n        unaff_s6 = (Image *)(iVar3 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar15 < 0x80;\n        }\n        unaff_s5 = (Image *)(bVar1 ^ 1);\n        pIVar10 = (Image *)0x1;\n        if ((unaff_s5 != (Image *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), pIVar10 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          pIVar10 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n          uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n            pIVar10 = (Image *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          pIVar10 = extraout_v1_00;\n        }\n        else {\n          pIVar10 = (Image *)0x2;\n        }\n      }\nLAB_000ff780:\n      in_a3 = (undefined *)0x0;\n      local_2c = MagickTrue;\n      local_28 = &progress;\n      ppIVar7 = &local_3c;\n      local_3c = destination;\n      local_38 = set;\n      local_34 = context;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      MVar4 = local_2c;\n    }\n    pIVar5 = local_24;\n    unaff_s2 = (ImageView **)set;\n    unaff_s4 = (undefined *)context;\n    if (local_24 == *(ImageView **)puVar2) {\n      return MVar4;\n    }\n  }\n  puVar21 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  puStack_b8 = puVar21 + 0x2b0f7c;\n  puStack_84 = puVar2;\n  piVar16 = *(int **)(puVar21 + 0x2a98fc);\n  pIStack_8c = (ImageView *)*piVar16;\n  pIStack_88 = unaff_s0;\n  ppIStack_80 = unaff_s2;\n  pIStack_7c = unaff_s3;\n  puStack_78 = unaff_s4;\n  pIStack_74 = unaff_s5;\n  pIStack_70 = unaff_s6;\n  if (pIVar5 == (ImageView *)0x0) {\n    MVar4 = (**(code **)(puVar21 + 0x2a9cd4))\n                      (*(int *)(puVar21 + 0x2a8fb0) + -0x50fc,*(int *)(puVar21 + 0x2a8fb0) + -0x5168\n                       ,0x3fa,*(int *)(puVar21 + 0x2a8fb0) + -0x5008);\n    return MVar4;\n  }\n  if (pIVar5->signature != 0xabacadab) {\n    MVar4 = (**(code **)(puVar21 + 0x2a9cd4))\n                      (*(int *)(puVar21 + 0x2a8fb4) + 0x3930,*(int *)(puVar21 + 0x2a8fb0) + -0x5168,\n                       0x3fb,*(int *)(puVar21 + 0x2a8fb0) + -0x5008);\n    return MVar4;\n  }\n  ppIVar8 = ppIVar7;\n  pIVar11 = pIVar10;\n  pIVar20 = unaff_s6;\n  if (pIVar10 == (Image *)0x0) {\nLAB_000ff9c8:\n    MVar4 = MagickFalse;\n    ppIVar7 = unaff_s2;\n    in_a3 = unaff_s4;\n  }\n  else {\n    pIVar18 = (Image *)ppIVar7[5];\n    ppIVar8 = (ImageView **)0x1;\n    pIVar11 = (Image *)ppIVar7[7];\n    pIVar20 = pIVar5->image;\n    iVar3 = (**(code **)(puVar21 + 0x2a9ef0))(pIVar18);\n    unaff_s2 = ppIVar7;\n    unaff_s4 = in_a3;\n    unaff_s5 = pIVar18;\n    if (iVar3 == 0) goto LAB_000ff9c8;\n    sVar19 = (pIVar5->extent).height;\n    iVar15 = (pIVar5->extent).y;\n    uStack_ac = 0;\n    uStack_b0 = 0;\n    iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar20);\n    if (((iVar3 == 4) || (iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar20), iVar3 == 3)) &&\n       ((iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar18), iVar3 == 4 ||\n        (iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar18), iVar3 == 3)))) {\n      iVar15 = sVar19 - iVar15;\n      (**(code **)(puStack_b8 + -0x7774))(7);\n      iVar3 = iVar15;\n      if (iVar15 < 0) {\n        iVar3 = iVar15 + 0x3f;\n      }\n      unaff_s5 = (Image *)(iVar3 >> 6);\n      if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }\n      pIVar11 = (Image *)0x1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        pIVar18 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          pIVar18 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }\n      iVar3 = *(int *)(puStack_b8 + -0x7e1c);\n    }\n    else {\n      uVar24 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n        pcVar22 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar24 < 2) {\n          uVar24 = (*pcVar22)(7);\n          if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar22 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar24 < 2) {\n            unaff_s5 = (Image *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar22 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar24 = (*pcVar22)(7);\n      if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (Image *)0x2;\n      }\nLAB_000ffa7c:\n      iVar3 = *(int *)(puStack_b8 + -0x7e1c);\n      pIVar11 = unaff_s5;\n      unaff_s5 = pIVar18;\n    }\n    MStack_94 = MagickTrue;\n    puStack_90 = &uStack_b0;\n    ppIVar8 = &pIStack_a8;\n    pIStack_a8 = pIVar5;\n    ppIStack_a4 = ppIVar7;\n    pIStack_a0 = pIVar10;\n    puStack_9c = in_a3;\n    pIStack_98 = pIVar20;\n    (**(code **)(puStack_b8 + -0x7718))(iVar3 + -0x1ecc,ppIVar8,pIVar11,0);\n    MVar4 = MStack_94;\n  }\n  if (pIStack_8c == (ImageView *)*piVar16) {\n    return MVar4;\n  }\n  pcVar22 = *(code **)(puStack_b8 + -0x784c);\n  pcVar23 = UpdateImageViewIterator;\n  pIVar12 = pIStack_8c;\n  (*pcVar22)();\n  piVar17 = *(int **)(pcVar22 + 0x2a95f8);\n  iStack_ec = *piVar17;\n  pIStack_e8 = pIVar5;\n  piStack_e4 = piVar16;\n  ppIStack_e0 = ppIVar7;\n  pIStack_dc = pIVar10;\n  puStack_d8 = in_a3;\n  pIStack_d4 = unaff_s5;\n  pIStack_d0 = pIVar20;\n  pcStack_cc = pcVar23;\n  if (pIVar12 != (ImageView *)0x0) {\n    if (pIVar12->signature == 0xabacadab) {\n      ppIVar7 = ppIVar8;\n      pIVar10 = pIVar11;\n      if (ppIVar8 == (ImageView **)0x0) {\nLAB_000ffcbc:\n        MVar4 = MagickFalse;\n      }\n      else {\n        pIVar20 = pIVar12->image;\n        ppIVar7 = (ImageView **)0x1;\n        pIVar10 = (Image *)pIVar12->exception;\n        iVar3 = (**(code **)(pcVar22 + 0x2a9bec))(pIVar20);\n        if (iVar3 == 0) goto LAB_000ffcbc;\n        sVar19 = (pIVar12->extent).height;\n        iVar15 = (pIVar12->extent).y;\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20);\n        if (((iVar3 == 4) || (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)) &&\n           ((iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 4 ||\n            (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)))) {\n          iVar15 = sVar19 - iVar15;\n          (**(code **)(pcVar22 + 0x2a9504))(7);\n          iVar3 = iVar15;\n          if (iVar15 < 0) {\n            iVar3 = iVar15 + 0x3f;\n          }\n          pIVar18 = (Image *)(iVar3 >> 6);\n          if (extraout_v1_09 < (int)pIVar18) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar15 < 0x80;\n          }\n          pIVar10 = (Image *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)pIVar18) {\n              (**(code **)(pcVar22 + 0x2a9504))(7);\n              pIVar18 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar3 = *(int *)(pcVar22 + 0x2a8e5c);\n        }\n        else {\n          uVar24 = (**(code **)(pcVar22 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n            if ((uint)uVar24 < 2) {\n              uVar24 = (*pcVar23)(7);\n              if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n              if ((uint)uVar24 < 2) {\n                pIVar18 = (Image *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n          }\n          uVar24 = (*pcVar23)(7);\n          if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            pIVar18 = extraout_v1_10;\n          }\n          else {\n            pIVar18 = (Image *)0x2;\n          }\nLAB_000ffd68:\n          iVar3 = *(int *)(pcVar22 + 0x2a8e5c);\n          pIVar10 = pIVar18;\n        }\n        MStack_f4 = MagickTrue;\n        puStack_f0 = &uStack_110;\n        ppIVar7 = &pIStack_104;\n        pIStack_104 = pIVar12;\n        ppIStack_100 = ppIVar8;\n        pIStack_fc = pIVar11;\n        pIStack_f8 = pIVar20;\n        (**(code **)(pcVar22 + 0x2a9560))(iVar3 + -0x1ca0,ppIVar7,pIVar10,0);\n        MVar4 = MStack_f4;\n      }\n      iVar3 = iStack_ec;\n      if (iStack_ec == *piVar17) {\n        return MVar4;\n      }\n      goto LAB_000fff14;\n    }\n    (**(code **)(pcVar22 + 0x2a99d0))\n              (*(int *)(pcVar22 + 0x2a8cb0) + 0x3930,*(int *)(pcVar22 + 0x2a8cac) + -0x5168,0x481,\n               *(int *)(pcVar22 + 0x2a8cac) + -0x5020);\n  }\n  pIVar10 = (Image *)0x480;\n  ppIVar7 = (ImageView **)(*(int *)(pcVar22 + 0x2a8cac) + -0x5168);\n  iVar3 = *(int *)(pcVar22 + 0x2a8cac) + -0x50fc;\n  (**(code **)(pcVar22 + 0x2a99d0))();\nLAB_000fff14:\n  pcVar22 = *(code **)(pcVar22 + 0x2a942c);\n  (*pcVar22)();\n  if (*(int *)(iVar3 + 700) == 0) {\n    (**(code **)(pcVar22 + 0x2a8df4))();\n  }\n  pIVar5 = ppIVar7[1];\n  iVar15 = 0;\n  if (0 < (int)pIVar5) {\n    do {\n      iVar6 = (**(code **)(pcVar22 + 0x2a8e18))\n                        (iVar3,ppIVar7[2],(int)&ppIVar7[3]->description + iVar15,*ppIVar7,1,pIVar10)\n      ;\n      if (iVar6 == 0) {\n        return MagickFalse;\n      }\n      pIVar12 = *ppIVar7;\n      pIVar5 = (ImageView *)0x0;\n      if (0 < (int)pIVar12) {\n        iVar14 = *(int *)(iVar3 + 0x2d0);\n        iVar9 = *(int *)(iVar3 + 0x2c0);\n        iVar13 = *(int *)(iVar14 + 0x34);\n        do {\n          pIVar5 = (ImageView *)((int)&pIVar5->description + 1);\n          if (iVar13 != 0) {\n            *(undefined4 *)(iVar6 + *(int *)(iVar14 + 0x38) * 4) = 0;\n          }\n          iVar6 = iVar6 + iVar9 * 4;\n        } while (pIVar5 != pIVar12);\n      }\n      iVar6 = (**(code **)(pcVar22 + 0x2a92c4))(iVar3,pIVar10);\n      if (iVar6 == 0) {\n        return MagickFalse;\n      }\n      iVar15 = iVar15 + 1;\n      pIVar5 = (ImageView *)(uint)(iVar15 < (int)ppIVar7[1]);\n    } while (pIVar5 != (ImageView *)0x0);\n  }\n  return (MagickBooleanType)pIVar5;\n}" type_identifier (function_declarator "SetImageViewIterator(ImageView *destination,SetImageViewMethod set,void *context)" identifier (parameter_list "(ImageView *destination,SetImageViewMethod set,void *context)" ( (parameter_declaration "ImageView *destination" type_identifier (pointer_declarator "*destination" * identifier)) , (parameter_declaration "SetImageViewMethod set" type_identifier identifier) , (parameter_declaration "void *context" primitive_type (pointer_declarator "*context" * identifier)) ))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  MagickBooleanType MVar4;\n  ImageView *pIVar5;\n  int iVar6;\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  int extraout_v1_04;\n  Image *extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  Image *extraout_v1_08;\n  int extraout_v1_09;\n  Image *extraout_v1_10;\n  int extraout_v1_11;\n  int extraout_v1_12;\n  Image *extraout_v1_13;\n  ImageView **ppIVar7;\n  ImageView **ppIVar8;\n  int iVar9;\n  Image *pIVar10;\n  Image *pIVar11;\n  ImageView *pIVar12;\n  undefined *in_a3;\n  int iVar13;\n  int iVar14;\n  ImageView *unaff_s0;\n  int iVar15;\n  int *piVar16;\n  int *piVar17;\n  ImageView **unaff_s2;\n  Image *unaff_s3;\n  undefined *unaff_s4;\n  Image *unaff_s5;\n  Image *pIVar18;\n  size_t sVar19;\n  Image *unaff_s6;\n  Image *pIVar20;\n  undefined *puVar21;\n  code *pcVar22;\n  code *pcVar23;\n  undefined8 uVar24;\n  undefined4 uStack_110;\n  undefined4 uStack_10c;\n  ImageView *pIStack_104;\n  ImageView **ppIStack_100;\n  Image *pIStack_fc;\n  Image *pIStack_f8;\n  MagickBooleanType MStack_f4;\n  undefined4 *puStack_f0;\n  int iStack_ec;\n  ImageView *pIStack_e8;\n  int *piStack_e4;\n  ImageView **ppIStack_e0;\n  Image *pIStack_dc;\n  undefined *puStack_d8;\n  Image *pIStack_d4;\n  Image *pIStack_d0;\n  code *pcStack_cc;\n  undefined *puStack_b8;\n  undefined4 uStack_b0;\n  undefined4 uStack_ac;\n  ImageView *pIStack_a8;\n  ImageView **ppIStack_a4;\n  Image *pIStack_a0;\n  undefined *puStack_9c;\n  Image *pIStack_98;\n  MagickBooleanType MStack_94;\n  undefined4 *puStack_90;\n  ImageView *pIStack_8c;\n  ImageView *pIStack_88;\n  undefined *puStack_84;\n  ImageView **ppIStack_80;\n  Image *pIStack_7c;\n  undefined *puStack_78;\n  Image *pIStack_74;\n  Image *pIStack_70;\n  MagickOffsetType progress;\n  ImageView *local_3c;\n  SetImageViewMethod local_38;\n  void *local_34;\n  Image *local_30;\n  MagickBooleanType local_2c;\n  MagickOffsetType *local_28;\n  ImageView *local_24;\n  \n  puVar2 = PTR___stack_chk_guard_003a9230;\n  local_24 = *(ImageView **)PTR___stack_chk_guard_003a9230;\n  if (destination == (ImageView *)0x0) {\nLAB_000ff904:\n    pIVar10 = (Image *)0x37a;\n    in_a3 = PTR_s_t_to_left_003a88e4 + -0x4fec;\n    ppIVar7 = (ImageView **)(PTR_s_t_to_left_003a88e4 + -0x5168);\n    pIVar5 = (ImageView *)(PTR_s_t_to_left_003a88e4 + -0x5080);\n    (*(code *)PTR___assert_fail_003a9608)();\n  }\n  else {\n    unaff_s0 = destination;\n    if (destination->signature != 0xabacadab) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);\n      goto LAB_000ff904;\n    }\n    ppIVar7 = (ImageView **)set;\n    pIVar10 = (Image *)context;\n    if (set == (SetImageViewMethod)0x0) {\nLAB_000ff6d0:\n      MVar4 = MagickFalse;\n      context = unaff_s4;\n    }\n    else {\n      unaff_s3 = destination->image;\n      ppIVar7 = (ImageView **)0x1;\n      pIVar10 = (Image *)destination->exception;\n      iVar3 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = (undefined *)context;\n      if (iVar3 == 0) goto LAB_000ff6d0;\n      unaff_s5 = (Image *)(destination->extent).height;\n      unaff_s6 = (Image *)(destination->extent).y;\n      progress._4_4_ = 0;\n      progress._0_4_ = 0;\n      iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar3 == 4) ||\n          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3)) &&\n         ((iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 4 ||\n          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3)))) {\n        iVar15 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar3 = iVar15;\n        if (iVar15 < 0) {\n          iVar3 = iVar15 + 0x3f;\n        }\n        unaff_s6 = (Image *)(iVar3 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar15 < 0x80;\n        }\n        unaff_s5 = (Image *)(bVar1 ^ 1);\n        pIVar10 = (Image *)0x1;\n        if ((unaff_s5 != (Image *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), pIVar10 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          pIVar10 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n          uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n            pIVar10 = (Image *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          pIVar10 = extraout_v1_00;\n        }\n        else {\n          pIVar10 = (Image *)0x2;\n        }\n      }\nLAB_000ff780:\n      in_a3 = (undefined *)0x0;\n      local_2c = MagickTrue;\n      local_28 = &progress;\n      ppIVar7 = &local_3c;\n      local_3c = destination;\n      local_38 = set;\n      local_34 = context;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      MVar4 = local_2c;\n    }\n    pIVar5 = local_24;\n    unaff_s2 = (ImageView **)set;\n    unaff_s4 = (undefined *)context;\n    if (local_24 == *(ImageView **)puVar2) {\n      return MVar4;\n    }\n  }\n  puVar21 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  puStack_b8 = puVar21 + 0x2b0f7c;\n  puStack_84 = puVar2;\n  piVar16 = *(int **)(puVar21 + 0x2a98fc);\n  pIStack_8c = (ImageView *)*piVar16;\n  pIStack_88 = unaff_s0;\n  ppIStack_80 = unaff_s2;\n  pIStack_7c = unaff_s3;\n  puStack_78 = unaff_s4;\n  pIStack_74 = unaff_s5;\n  pIStack_70 = unaff_s6;\n  if (pIVar5 == (ImageView *)0x0) {\n    MVar4 = (**(code **)(puVar21 + 0x2a9cd4))\n                      (*(int *)(puVar21 + 0x2a8fb0) + -0x50fc,*(int *)(puVar21 + 0x2a8fb0) + -0x5168\n                       ,0x3fa,*(int *)(puVar21 + 0x2a8fb0) + -0x5008);\n    return MVar4;\n  }\n  if (pIVar5->signature != 0xabacadab) {\n    MVar4 = (**(code **)(puVar21 + 0x2a9cd4))\n                      (*(int *)(puVar21 + 0x2a8fb4) + 0x3930,*(int *)(puVar21 + 0x2a8fb0) + -0x5168,\n                       0x3fb,*(int *)(puVar21 + 0x2a8fb0) + -0x5008);\n    return MVar4;\n  }\n  ppIVar8 = ppIVar7;\n  pIVar11 = pIVar10;\n  pIVar20 = unaff_s6;\n  if (pIVar10 == (Image *)0x0) {\nLAB_000ff9c8:\n    MVar4 = MagickFalse;\n    ppIVar7 = unaff_s2;\n    in_a3 = unaff_s4;\n  }\n  else {\n    pIVar18 = (Image *)ppIVar7[5];\n    ppIVar8 = (ImageView **)0x1;\n    pIVar11 = (Image *)ppIVar7[7];\n    pIVar20 = pIVar5->image;\n    iVar3 = (**(code **)(puVar21 + 0x2a9ef0))(pIVar18);\n    unaff_s2 = ppIVar7;\n    unaff_s4 = in_a3;\n    unaff_s5 = pIVar18;\n    if (iVar3 == 0) goto LAB_000ff9c8;\n    sVar19 = (pIVar5->extent).height;\n    iVar15 = (pIVar5->extent).y;\n    uStack_ac = 0;\n    uStack_b0 = 0;\n    iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar20);\n    if (((iVar3 == 4) || (iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar20), iVar3 == 3)) &&\n       ((iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar18), iVar3 == 4 ||\n        (iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar18), iVar3 == 3)))) {\n      iVar15 = sVar19 - iVar15;\n      (**(code **)(puStack_b8 + -0x7774))(7);\n      iVar3 = iVar15;\n      if (iVar15 < 0) {\n        iVar3 = iVar15 + 0x3f;\n      }\n      unaff_s5 = (Image *)(iVar3 >> 6);\n      if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }\n      pIVar11 = (Image *)0x1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        pIVar18 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          pIVar18 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }\n      iVar3 = *(int *)(puStack_b8 + -0x7e1c);\n    }\n    else {\n      uVar24 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n        pcVar22 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar24 < 2) {\n          uVar24 = (*pcVar22)(7);\n          if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar22 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar24 < 2) {\n            unaff_s5 = (Image *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar22 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar24 = (*pcVar22)(7);\n      if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (Image *)0x2;\n      }\nLAB_000ffa7c:\n      iVar3 = *(int *)(puStack_b8 + -0x7e1c);\n      pIVar11 = unaff_s5;\n      unaff_s5 = pIVar18;\n    }\n    MStack_94 = MagickTrue;\n    puStack_90 = &uStack_b0;\n    ppIVar8 = &pIStack_a8;\n    pIStack_a8 = pIVar5;\n    ppIStack_a4 = ppIVar7;\n    pIStack_a0 = pIVar10;\n    puStack_9c = in_a3;\n    pIStack_98 = pIVar20;\n    (**(code **)(puStack_b8 + -0x7718))(iVar3 + -0x1ecc,ppIVar8,pIVar11,0);\n    MVar4 = MStack_94;\n  }\n  if (pIStack_8c == (ImageView *)*piVar16) {\n    return MVar4;\n  }\n  pcVar22 = *(code **)(puStack_b8 + -0x784c);\n  pcVar23 = UpdateImageViewIterator;\n  pIVar12 = pIStack_8c;\n  (*pcVar22)();\n  piVar17 = *(int **)(pcVar22 + 0x2a95f8);\n  iStack_ec = *piVar17;\n  pIStack_e8 = pIVar5;\n  piStack_e4 = piVar16;\n  ppIStack_e0 = ppIVar7;\n  pIStack_dc = pIVar10;\n  puStack_d8 = in_a3;\n  pIStack_d4 = unaff_s5;\n  pIStack_d0 = pIVar20;\n  pcStack_cc = pcVar23;\n  if (pIVar12 != (ImageView *)0x0) {\n    if (pIVar12->signature == 0xabacadab) {\n      ppIVar7 = ppIVar8;\n      pIVar10 = pIVar11;\n      if (ppIVar8 == (ImageView **)0x0) {\nLAB_000ffcbc:\n        MVar4 = MagickFalse;\n      }\n      else {\n        pIVar20 = pIVar12->image;\n        ppIVar7 = (ImageView **)0x1;\n        pIVar10 = (Image *)pIVar12->exception;\n        iVar3 = (**(code **)(pcVar22 + 0x2a9bec))(pIVar20);\n        if (iVar3 == 0) goto LAB_000ffcbc;\n        sVar19 = (pIVar12->extent).height;\n        iVar15 = (pIVar12->extent).y;\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20);\n        if (((iVar3 == 4) || (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)) &&\n           ((iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 4 ||\n            (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)))) {\n          iVar15 = sVar19 - iVar15;\n          (**(code **)(pcVar22 + 0x2a9504))(7);\n          iVar3 = iVar15;\n          if (iVar15 < 0) {\n            iVar3 = iVar15 + 0x3f;\n          }\n          pIVar18 = (Image *)(iVar3 >> 6);\n          if (extraout_v1_09 < (int)pIVar18) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar15 < 0x80;\n          }\n          pIVar10 = (Image *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)pIVar18) {\n              (**(code **)(pcVar22 + 0x2a9504))(7);\n              pIVar18 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar3 = *(int *)(pcVar22 + 0x2a8e5c);\n        }\n        else {\n          uVar24 = (**(code **)(pcVar22 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n            if ((uint)uVar24 < 2) {\n              uVar24 = (*pcVar23)(7);\n              if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n              if ((uint)uVar24 < 2) {\n                pIVar18 = (Image *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n          }\n          uVar24 = (*pcVar23)(7);\n          if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            pIVar18 = extraout_v1_10;\n          }\n          else {\n            pIVar18 = (Image *)0x2;\n          }\nLAB_000ffd68:\n          iVar3 = *(int *)(pcVar22 + 0x2a8e5c);\n          pIVar10 = pIVar18;\n        }\n        MStack_f4 = MagickTrue;\n        puStack_f0 = &uStack_110;\n        ppIVar7 = &pIStack_104;\n        pIStack_104 = pIVar12;\n        ppIStack_100 = ppIVar8;\n        pIStack_fc = pIVar11;\n        pIStack_f8 = pIVar20;\n        (**(code **)(pcVar22 + 0x2a9560))(iVar3 + -0x1ca0,ppIVar7,pIVar10,0);\n        MVar4 = MStack_f4;\n      }\n      iVar3 = iStack_ec;\n      if (iStack_ec == *piVar17) {\n        return MVar4;\n      }\n      goto LAB_000fff14;\n    }\n    (**(code **)(pcVar22 + 0x2a99d0))\n              (*(int *)(pcVar22 + 0x2a8cb0) + 0x3930,*(int *)(pcVar22 + 0x2a8cac) + -0x5168,0x481,\n               *(int *)(pcVar22 + 0x2a8cac) + -0x5020);\n  }\n  pIVar10 = (Image *)0x480;\n  ppIVar7 = (ImageView **)(*(int *)(pcVar22 + 0x2a8cac) + -0x5168);\n  iVar3 = *(int *)(pcVar22 + 0x2a8cac) + -0x50fc;\n  (**(code **)(pcVar22 + 0x2a99d0))();\nLAB_000fff14:\n  pcVar22 = *(code **)(pcVar22 + 0x2a942c);\n  (*pcVar22)();\n  if (*(int *)(iVar3 + 700) == 0) {\n    (**(code **)(pcVar22 + 0x2a8df4))();\n  }\n  pIVar5 = ppIVar7[1];\n  iVar15 = 0;\n  if (0 < (int)pIVar5) {\n    do {\n      iVar6 = (**(code **)(pcVar22 + 0x2a8e18))\n                        (iVar3,ppIVar7[2],(int)&ppIVar7[3]->description + iVar15,*ppIVar7,1,pIVar10)\n      ;\n      if (iVar6 == 0) {\n        return MagickFalse;\n      }\n      pIVar12 = *ppIVar7;\n      pIVar5 = (ImageView *)0x0;\n      if (0 < (int)pIVar12) {\n        iVar14 = *(int *)(iVar3 + 0x2d0);\n        iVar9 = *(int *)(iVar3 + 0x2c0);\n        iVar13 = *(int *)(iVar14 + 0x34);\n        do {\n          pIVar5 = (ImageView *)((int)&pIVar5->description + 1);\n          if (iVar13 != 0) {\n            *(undefined4 *)(iVar6 + *(int *)(iVar14 + 0x38) * 4) = 0;\n          }\n          iVar6 = iVar6 + iVar9 * 4;\n        } while (pIVar5 != pIVar12);\n      }\n      iVar6 = (**(code **)(pcVar22 + 0x2a92c4))(iVar3,pIVar10);\n      if (iVar6 == 0) {\n        return MagickFalse;\n      }\n      iVar15 = iVar15 + 1;\n      pIVar5 = (ImageView *)(uint)(iVar15 < (int)ppIVar7[1]);\n    } while (pIVar5 != (ImageView *)0x0);\n  }\n  return (MagickBooleanType)pIVar5;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "MagickBooleanType MVar4;" type_identifier identifier ;) (declaration "ImageView *pIVar5;" type_identifier (pointer_declarator "*pIVar5" * identifier) ;) (declaration "int iVar6;" primitive_type 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 "int extraout_v1_04;" primitive_type identifier ;) (declaration "Image *extraout_v1_05;" type_identifier (pointer_declarator "*extraout_v1_05" * identifier) ;) (declaration "int extraout_v1_06;" primitive_type identifier ;) (declaration "int extraout_v1_07;" primitive_type identifier ;) (declaration "Image *extraout_v1_08;" type_identifier (pointer_declarator "*extraout_v1_08" * identifier) ;) (declaration "int extraout_v1_09;" primitive_type identifier ;) (declaration "Image *extraout_v1_10;" type_identifier (pointer_declarator "*extraout_v1_10" * identifier) ;) (declaration "int extraout_v1_11;" primitive_type identifier ;) (declaration "int extraout_v1_12;" primitive_type identifier ;) (declaration "Image *extraout_v1_13;" type_identifier (pointer_declarator "*extraout_v1_13" * identifier) ;) (declaration "ImageView **ppIVar7;" type_identifier (pointer_declarator "**ppIVar7" * (pointer_declarator "*ppIVar7" * identifier)) ;) (declaration "ImageView **ppIVar8;" type_identifier (pointer_declarator "**ppIVar8" * (pointer_declarator "*ppIVar8" * identifier)) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "Image *pIVar10;" type_identifier (pointer_declarator "*pIVar10" * identifier) ;) (declaration "Image *pIVar11;" type_identifier (pointer_declarator "*pIVar11" * identifier) ;) (declaration "ImageView *pIVar12;" type_identifier (pointer_declarator "*pIVar12" * identifier) ;) (declaration "undefined *in_a3;" type_identifier (pointer_declarator "*in_a3" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "ImageView *unaff_s0;" type_identifier (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "ImageView **unaff_s2;" type_identifier (pointer_declarator "**unaff_s2" * (pointer_declarator "*unaff_s2" * identifier)) ;) (declaration "Image *unaff_s3;" type_identifier (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "undefined *unaff_s4;" type_identifier (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "Image *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "Image *pIVar18;" type_identifier (pointer_declarator "*pIVar18" * identifier) ;) (declaration "size_t sVar19;" primitive_type identifier ;) (declaration "Image *unaff_s6;" type_identifier (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "Image *pIVar20;" type_identifier (pointer_declarator "*pIVar20" * identifier) ;) (declaration "undefined *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "code *pcVar22;" type_identifier (pointer_declarator "*pcVar22" * identifier) ;) (declaration "code *pcVar23;" type_identifier (pointer_declarator "*pcVar23" * identifier) ;) (declaration "undefined8 uVar24;" type_identifier identifier ;) (declaration "undefined4 uStack_110;" type_identifier identifier ;) (declaration "undefined4 uStack_10c;" type_identifier identifier ;) (declaration "ImageView *pIStack_104;" type_identifier (pointer_declarator "*pIStack_104" * identifier) ;) (declaration "ImageView **ppIStack_100;" type_identifier (pointer_declarator "**ppIStack_100" * (pointer_declarator "*ppIStack_100" * identifier)) ;) (declaration "Image *pIStack_fc;" type_identifier (pointer_declarator "*pIStack_fc" * identifier) ;) (declaration "Image *pIStack_f8;" type_identifier (pointer_declarator "*pIStack_f8" * identifier) ;) (declaration "MagickBooleanType MStack_f4;" type_identifier identifier ;) (declaration "undefined4 *puStack_f0;" type_identifier (pointer_declarator "*puStack_f0" * identifier) ;) (declaration "int iStack_ec;" primitive_type identifier ;) (declaration "ImageView *pIStack_e8;" type_identifier (pointer_declarator "*pIStack_e8" * identifier) ;) (declaration "int *piStack_e4;" primitive_type (pointer_declarator "*piStack_e4" * identifier) ;) (declaration "ImageView **ppIStack_e0;" type_identifier (pointer_declarator "**ppIStack_e0" * (pointer_declarator "*ppIStack_e0" * identifier)) ;) (declaration "Image *pIStack_dc;" type_identifier (pointer_declarator "*pIStack_dc" * identifier) ;) (declaration "undefined *puStack_d8;" type_identifier (pointer_declarator "*puStack_d8" * identifier) ;) (declaration "Image *pIStack_d4;" type_identifier (pointer_declarator "*pIStack_d4" * identifier) ;) (declaration "Image *pIStack_d0;" type_identifier (pointer_declarator "*pIStack_d0" * identifier) ;) (declaration "code *pcStack_cc;" type_identifier (pointer_declarator "*pcStack_cc" * identifier) ;) (declaration "undefined *puStack_b8;" type_identifier (pointer_declarator "*puStack_b8" * identifier) ;) (declaration "undefined4 uStack_b0;" type_identifier identifier ;) (declaration "undefined4 uStack_ac;" type_identifier identifier ;) (declaration "ImageView *pIStack_a8;" type_identifier (pointer_declarator "*pIStack_a8" * identifier) ;) (declaration "ImageView **ppIStack_a4;" type_identifier (pointer_declarator "**ppIStack_a4" * (pointer_declarator "*ppIStack_a4" * identifier)) ;) (declaration "Image *pIStack_a0;" type_identifier (pointer_declarator "*pIStack_a0" * identifier) ;) (declaration "undefined *puStack_9c;" type_identifier (pointer_declarator "*puStack_9c" * identifier) ;) (declaration "Image *pIStack_98;" type_identifier (pointer_declarator "*pIStack_98" * identifier) ;) (declaration "MagickBooleanType MStack_94;" type_identifier identifier ;) (declaration "undefined4 *puStack_90;" type_identifier (pointer_declarator "*puStack_90" * identifier) ;) (declaration "ImageView *pIStack_8c;" type_identifier (pointer_declarator "*pIStack_8c" * identifier) ;) (declaration "ImageView *pIStack_88;" type_identifier (pointer_declarator "*pIStack_88" * identifier) ;) (declaration "undefined *puStack_84;" type_identifier (pointer_declarator "*puStack_84" * identifier) ;) (declaration "ImageView **ppIStack_80;" type_identifier (pointer_declarator "**ppIStack_80" * (pointer_declarator "*ppIStack_80" * identifier)) ;) (declaration "Image *pIStack_7c;" type_identifier (pointer_declarator "*pIStack_7c" * identifier) ;) (declaration "undefined *puStack_78;" type_identifier (pointer_declarator "*puStack_78" * identifier) ;) (declaration "Image *pIStack_74;" type_identifier (pointer_declarator "*pIStack_74" * identifier) ;) (declaration "Image *pIStack_70;" type_identifier (pointer_declarator "*pIStack_70" * identifier) ;) (declaration "MagickOffsetType progress;" type_identifier identifier ;) (declaration "ImageView *local_3c;" type_identifier (pointer_declarator "*local_3c" * identifier) ;) (declaration "SetImageViewMethod local_38;" type_identifier identifier ;) (declaration "void *local_34;" primitive_type (pointer_declarator "*local_34" * identifier) ;) (declaration "Image *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "MagickBooleanType local_2c;" type_identifier identifier ;) (declaration "MagickOffsetType *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (declaration "ImageView *local_24;" type_identifier (pointer_declarator "*local_24" * identifier) ;) (expression_statement "puVar2 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar2 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "local_24 = *(ImageView **)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_24 = *(ImageView **)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(ImageView **)PTR___stack_chk_guard_003a9230" * (cast_expression "(ImageView **)PTR___stack_chk_guard_003a9230" ( (type_descriptor "ImageView **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (destination == (ImageView *)0x0) {\nLAB_000ff904:\n    pIVar10 = (Image *)0x37a;\n    in_a3 = PTR_s_t_to_left_003a88e4 + -0x4fec;\n    ppIVar7 = (ImageView **)(PTR_s_t_to_left_003a88e4 + -0x5168);\n    pIVar5 = (ImageView *)(PTR_s_t_to_left_003a88e4 + -0x5080);\n    (*(code *)PTR___assert_fail_003a9608)();\n  }\n  else {\n    unaff_s0 = destination;\n    if (destination->signature != 0xabacadab) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);\n      goto LAB_000ff904;\n    }\n    ppIVar7 = (ImageView **)set;\n    pIVar10 = (Image *)context;\n    if (set == (SetImageViewMethod)0x0) {\nLAB_000ff6d0:\n      MVar4 = MagickFalse;\n      context = unaff_s4;\n    }\n    else {\n      unaff_s3 = destination->image;\n      ppIVar7 = (ImageView **)0x1;\n      pIVar10 = (Image *)destination->exception;\n      iVar3 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = (undefined *)context;\n      if (iVar3 == 0) goto LAB_000ff6d0;\n      unaff_s5 = (Image *)(destination->extent).height;\n      unaff_s6 = (Image *)(destination->extent).y;\n      progress._4_4_ = 0;\n      progress._0_4_ = 0;\n      iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar3 == 4) ||\n          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3)) &&\n         ((iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 4 ||\n          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3)))) {\n        iVar15 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar3 = iVar15;\n        if (iVar15 < 0) {\n          iVar3 = iVar15 + 0x3f;\n        }\n        unaff_s6 = (Image *)(iVar3 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar15 < 0x80;\n        }\n        unaff_s5 = (Image *)(bVar1 ^ 1);\n        pIVar10 = (Image *)0x1;\n        if ((unaff_s5 != (Image *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), pIVar10 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          pIVar10 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n          uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n            pIVar10 = (Image *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          pIVar10 = extraout_v1_00;\n        }\n        else {\n          pIVar10 = (Image *)0x2;\n        }\n      }\nLAB_000ff780:\n      in_a3 = (undefined *)0x0;\n      local_2c = MagickTrue;\n      local_28 = &progress;\n      ppIVar7 = &local_3c;\n      local_3c = destination;\n      local_38 = set;\n      local_34 = context;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      MVar4 = local_2c;\n    }\n    pIVar5 = local_24;\n    unaff_s2 = (ImageView **)set;\n    unaff_s4 = (undefined *)context;\n    if (local_24 == *(ImageView **)puVar2) {\n      return MVar4;\n    }\n  }" if (parenthesized_expression "(destination == (ImageView *)0x0)" ( (binary_expression "destination == (ImageView *)0x0" identifier == (cast_expression "(ImageView *)0x0" ( (type_descriptor "ImageView *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000ff904:\n    pIVar10 = (Image *)0x37a;\n    in_a3 = PTR_s_t_to_left_003a88e4 + -0x4fec;\n    ppIVar7 = (ImageView **)(PTR_s_t_to_left_003a88e4 + -0x5168);\n    pIVar5 = (ImageView *)(PTR_s_t_to_left_003a88e4 + -0x5080);\n    (*(code *)PTR___assert_fail_003a9608)();\n  }" { (labeled_statement "LAB_000ff904:\n    pIVar10 = (Image *)0x37a;" statement_identifier : (expression_statement "pIVar10 = (Image *)0x37a;" (assignment_expression "pIVar10 = (Image *)0x37a" identifier = (cast_expression "(Image *)0x37a" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "in_a3 = PTR_s_t_to_left_003a88e4 + -0x4fec;" (assignment_expression "in_a3 = PTR_s_t_to_left_003a88e4 + -0x4fec" identifier = (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4fec" identifier + number_literal)) ;) (expression_statement "ppIVar7 = (ImageView **)(PTR_s_t_to_left_003a88e4 + -0x5168);" (assignment_expression "ppIVar7 = (ImageView **)(PTR_s_t_to_left_003a88e4 + -0x5168)" identifier = (cast_expression "(ImageView **)(PTR_s_t_to_left_003a88e4 + -0x5168)" ( (type_descriptor "ImageView **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_s_t_to_left_003a88e4 + -0x5168)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5168" identifier + number_literal) )))) ;) (expression_statement "pIVar5 = (ImageView *)(PTR_s_t_to_left_003a88e4 + -0x5080);" (assignment_expression "pIVar5 = (ImageView *)(PTR_s_t_to_left_003a88e4 + -0x5080)" identifier = (cast_expression "(ImageView *)(PTR_s_t_to_left_003a88e4 + -0x5080)" ( (type_descriptor "ImageView *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_t_to_left_003a88e4 + -0x5080)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5080" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)();" (call_expression "(*(code *)PTR___assert_fail_003a9608)()" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) }) (else_clause "else {\n    unaff_s0 = destination;\n    if (destination->signature != 0xabacadab) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);\n      goto LAB_000ff904;\n    }\n    ppIVar7 = (ImageView **)set;\n    pIVar10 = (Image *)context;\n    if (set == (SetImageViewMethod)0x0) {\nLAB_000ff6d0:\n      MVar4 = MagickFalse;\n      context = unaff_s4;\n    }\n    else {\n      unaff_s3 = destination->image;\n      ppIVar7 = (ImageView **)0x1;\n      pIVar10 = (Image *)destination->exception;\n      iVar3 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = (undefined *)context;\n      if (iVar3 == 0) goto LAB_000ff6d0;\n      unaff_s5 = (Image *)(destination->extent).height;\n      unaff_s6 = (Image *)(destination->extent).y;\n      progress._4_4_ = 0;\n      progress._0_4_ = 0;\n      iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar3 == 4) ||\n          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3)) &&\n         ((iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 4 ||\n          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3)))) {\n        iVar15 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar3 = iVar15;\n        if (iVar15 < 0) {\n          iVar3 = iVar15 + 0x3f;\n        }\n        unaff_s6 = (Image *)(iVar3 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar15 < 0x80;\n        }\n        unaff_s5 = (Image *)(bVar1 ^ 1);\n        pIVar10 = (Image *)0x1;\n        if ((unaff_s5 != (Image *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), pIVar10 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          pIVar10 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n          uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n            pIVar10 = (Image *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          pIVar10 = extraout_v1_00;\n        }\n        else {\n          pIVar10 = (Image *)0x2;\n        }\n      }\nLAB_000ff780:\n      in_a3 = (undefined *)0x0;\n      local_2c = MagickTrue;\n      local_28 = &progress;\n      ppIVar7 = &local_3c;\n      local_3c = destination;\n      local_38 = set;\n      local_34 = context;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      MVar4 = local_2c;\n    }\n    pIVar5 = local_24;\n    unaff_s2 = (ImageView **)set;\n    unaff_s4 = (undefined *)context;\n    if (local_24 == *(ImageView **)puVar2) {\n      return MVar4;\n    }\n  }" else (compound_statement "{\n    unaff_s0 = destination;\n    if (destination->signature != 0xabacadab) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);\n      goto LAB_000ff904;\n    }\n    ppIVar7 = (ImageView **)set;\n    pIVar10 = (Image *)context;\n    if (set == (SetImageViewMethod)0x0) {\nLAB_000ff6d0:\n      MVar4 = MagickFalse;\n      context = unaff_s4;\n    }\n    else {\n      unaff_s3 = destination->image;\n      ppIVar7 = (ImageView **)0x1;\n      pIVar10 = (Image *)destination->exception;\n      iVar3 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = (undefined *)context;\n      if (iVar3 == 0) goto LAB_000ff6d0;\n      unaff_s5 = (Image *)(destination->extent).height;\n      unaff_s6 = (Image *)(destination->extent).y;\n      progress._4_4_ = 0;\n      progress._0_4_ = 0;\n      iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar3 == 4) ||\n          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3)) &&\n         ((iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 4 ||\n          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3)))) {\n        iVar15 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar3 = iVar15;\n        if (iVar15 < 0) {\n          iVar3 = iVar15 + 0x3f;\n        }\n        unaff_s6 = (Image *)(iVar3 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar15 < 0x80;\n        }\n        unaff_s5 = (Image *)(bVar1 ^ 1);\n        pIVar10 = (Image *)0x1;\n        if ((unaff_s5 != (Image *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), pIVar10 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          pIVar10 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n          uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n            pIVar10 = (Image *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          pIVar10 = extraout_v1_00;\n        }\n        else {\n          pIVar10 = (Image *)0x2;\n        }\n      }\nLAB_000ff780:\n      in_a3 = (undefined *)0x0;\n      local_2c = MagickTrue;\n      local_28 = &progress;\n      ppIVar7 = &local_3c;\n      local_3c = destination;\n      local_38 = set;\n      local_34 = context;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      MVar4 = local_2c;\n    }\n    pIVar5 = local_24;\n    unaff_s2 = (ImageView **)set;\n    unaff_s4 = (undefined *)context;\n    if (local_24 == *(ImageView **)puVar2) {\n      return MVar4;\n    }\n  }" { (expression_statement "unaff_s0 = destination;" (assignment_expression "unaff_s0 = destination" identifier = identifier) ;) (if_statement "if (destination->signature != 0xabacadab) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);\n      goto LAB_000ff904;\n    }" if (parenthesized_expression "(destination->signature != 0xabacadab)" ( (binary_expression "destination->signature != 0xabacadab" (field_expression "destination->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);\n      goto LAB_000ff904;\n    }" { (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x505c" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5168" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4fec" identifier + number_literal) ))) ;) (goto_statement "goto LAB_000ff904;" goto statement_identifier ;) })) (expression_statement "ppIVar7 = (ImageView **)set;" (assignment_expression "ppIVar7 = (ImageView **)set" identifier = (cast_expression "(ImageView **)set" ( (type_descriptor "ImageView **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "pIVar10 = (Image *)context;" (assignment_expression "pIVar10 = (Image *)context" identifier = (cast_expression "(Image *)context" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (set == (SetImageViewMethod)0x0) {\nLAB_000ff6d0:\n      MVar4 = MagickFalse;\n      context = unaff_s4;\n    }\n    else {\n      unaff_s3 = destination->image;\n      ppIVar7 = (ImageView **)0x1;\n      pIVar10 = (Image *)destination->exception;\n      iVar3 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = (undefined *)context;\n      if (iVar3 == 0) goto LAB_000ff6d0;\n      unaff_s5 = (Image *)(destination->extent).height;\n      unaff_s6 = (Image *)(destination->extent).y;\n      progress._4_4_ = 0;\n      progress._0_4_ = 0;\n      iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar3 == 4) ||\n          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3)) &&\n         ((iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 4 ||\n          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3)))) {\n        iVar15 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar3 = iVar15;\n        if (iVar15 < 0) {\n          iVar3 = iVar15 + 0x3f;\n        }\n        unaff_s6 = (Image *)(iVar3 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar15 < 0x80;\n        }\n        unaff_s5 = (Image *)(bVar1 ^ 1);\n        pIVar10 = (Image *)0x1;\n        if ((unaff_s5 != (Image *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), pIVar10 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          pIVar10 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n          uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n            pIVar10 = (Image *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          pIVar10 = extraout_v1_00;\n        }\n        else {\n          pIVar10 = (Image *)0x2;\n        }\n      }\nLAB_000ff780:\n      in_a3 = (undefined *)0x0;\n      local_2c = MagickTrue;\n      local_28 = &progress;\n      ppIVar7 = &local_3c;\n      local_3c = destination;\n      local_38 = set;\n      local_34 = context;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      MVar4 = local_2c;\n    }" if (parenthesized_expression "(set == (SetImageViewMethod)0x0)" ( (binary_expression "set == (SetImageViewMethod)0x0" identifier == (cast_expression "(SetImageViewMethod)0x0" ( (type_descriptor "SetImageViewMethod" type_identifier) ) number_literal)) )) (compound_statement "{\nLAB_000ff6d0:\n      MVar4 = MagickFalse;\n      context = unaff_s4;\n    }" { (labeled_statement "LAB_000ff6d0:\n      MVar4 = MagickFalse;" statement_identifier : (expression_statement "MVar4 = MagickFalse;" (assignment_expression "MVar4 = MagickFalse" identifier = identifier) ;)) (expression_statement "context = unaff_s4;" (assignment_expression "context = unaff_s4" identifier = identifier) ;) }) (else_clause "else {\n      unaff_s3 = destination->image;\n      ppIVar7 = (ImageView **)0x1;\n      pIVar10 = (Image *)destination->exception;\n      iVar3 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = (undefined *)context;\n      if (iVar3 == 0) goto LAB_000ff6d0;\n      unaff_s5 = (Image *)(destination->extent).height;\n      unaff_s6 = (Image *)(destination->extent).y;\n      progress._4_4_ = 0;\n      progress._0_4_ = 0;\n      iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar3 == 4) ||\n          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3)) &&\n         ((iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 4 ||\n          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3)))) {\n        iVar15 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar3 = iVar15;\n        if (iVar15 < 0) {\n          iVar3 = iVar15 + 0x3f;\n        }\n        unaff_s6 = (Image *)(iVar3 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar15 < 0x80;\n        }\n        unaff_s5 = (Image *)(bVar1 ^ 1);\n        pIVar10 = (Image *)0x1;\n        if ((unaff_s5 != (Image *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), pIVar10 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          pIVar10 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n          uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n            pIVar10 = (Image *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          pIVar10 = extraout_v1_00;\n        }\n        else {\n          pIVar10 = (Image *)0x2;\n        }\n      }\nLAB_000ff780:\n      in_a3 = (undefined *)0x0;\n      local_2c = MagickTrue;\n      local_28 = &progress;\n      ppIVar7 = &local_3c;\n      local_3c = destination;\n      local_38 = set;\n      local_34 = context;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      MVar4 = local_2c;\n    }" else (compound_statement "{\n      unaff_s3 = destination->image;\n      ppIVar7 = (ImageView **)0x1;\n      pIVar10 = (Image *)destination->exception;\n      iVar3 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = (undefined *)context;\n      if (iVar3 == 0) goto LAB_000ff6d0;\n      unaff_s5 = (Image *)(destination->extent).height;\n      unaff_s6 = (Image *)(destination->extent).y;\n      progress._4_4_ = 0;\n      progress._0_4_ = 0;\n      iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar3 == 4) ||\n          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3)) &&\n         ((iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 4 ||\n          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3)))) {\n        iVar15 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar3 = iVar15;\n        if (iVar15 < 0) {\n          iVar3 = iVar15 + 0x3f;\n        }\n        unaff_s6 = (Image *)(iVar3 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar15 < 0x80;\n        }\n        unaff_s5 = (Image *)(bVar1 ^ 1);\n        pIVar10 = (Image *)0x1;\n        if ((unaff_s5 != (Image *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), pIVar10 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          pIVar10 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n          uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n            pIVar10 = (Image *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          pIVar10 = extraout_v1_00;\n        }\n        else {\n          pIVar10 = (Image *)0x2;\n        }\n      }\nLAB_000ff780:\n      in_a3 = (undefined *)0x0;\n      local_2c = MagickTrue;\n      local_28 = &progress;\n      ppIVar7 = &local_3c;\n      local_3c = destination;\n      local_38 = set;\n      local_34 = context;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      MVar4 = local_2c;\n    }" { (expression_statement "unaff_s3 = destination->image;" (assignment_expression "unaff_s3 = destination->image" identifier = (field_expression "destination->image" identifier -> field_identifier)) ;) (expression_statement "ppIVar7 = (ImageView **)0x1;" (assignment_expression "ppIVar7 = (ImageView **)0x1" identifier = (cast_expression "(ImageView **)0x1" ( (type_descriptor "ImageView **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pIVar10 = (Image *)destination->exception;" (assignment_expression "pIVar10 = (Image *)destination->exception" identifier = (cast_expression "(Image *)destination->exception" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "destination->exception" identifier -> field_identifier))) ;) (expression_statement "iVar3 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);" (assignment_expression "iVar3 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3)" identifier = (call_expression "(*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3)" (parenthesized_expression "(*(code *)PTR_SetImageStorageClass_003a9824)" ( (pointer_expression "*(code *)PTR_SetImageStorageClass_003a9824" * (cast_expression "(code *)PTR_SetImageStorageClass_003a9824" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s3)" ( identifier )))) ;) (expression_statement "unaff_s4 = (undefined *)context;" (assignment_expression "unaff_s4 = (undefined *)context" identifier = (cast_expression "(undefined *)context" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar3 == 0) goto LAB_000ff6d0;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000ff6d0;" goto statement_identifier ;)) (expression_statement "unaff_s5 = (Image *)(destination->extent).height;" (assignment_expression "unaff_s5 = (Image *)(destination->extent).height" identifier = (cast_expression "(Image *)(destination->extent).height" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(destination->extent).height" (parenthesized_expression "(destination->extent)" ( (field_expression "destination->extent" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "unaff_s6 = (Image *)(destination->extent).y;" (assignment_expression "unaff_s6 = (Image *)(destination->extent).y" identifier = (cast_expression "(Image *)(destination->extent).y" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(destination->extent).y" (parenthesized_expression "(destination->extent)" ( (field_expression "destination->extent" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "progress._4_4_ = 0;" (assignment_expression "progress._4_4_ = 0" (field_expression "progress._4_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "progress._0_4_ = 0;" (assignment_expression "progress._0_4_ = 0" (field_expression "progress._0_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);" (assignment_expression "iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" (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 "(unaff_s3)" ( identifier )))) ;) (if_statement "if (((iVar3 == 4) ||\n          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3)) &&\n         ((iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 4 ||\n          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3)))) {\n        iVar15 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar3 = iVar15;\n        if (iVar15 < 0) {\n          iVar3 = iVar15 + 0x3f;\n        }\n        unaff_s6 = (Image *)(iVar3 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar15 < 0x80;\n        }\n        unaff_s5 = (Image *)(bVar1 ^ 1);\n        pIVar10 = (Image *)0x1;\n        if ((unaff_s5 != (Image *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), pIVar10 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          pIVar10 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n          uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n            pIVar10 = (Image *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          pIVar10 = extraout_v1_00;\n        }\n        else {\n          pIVar10 = (Image *)0x2;\n        }\n      }" if (parenthesized_expression "(((iVar3 == 4) ||\n          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3)) &&\n         ((iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 4 ||\n          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3))))" ( (binary_expression "((iVar3 == 4) ||\n          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3)) &&\n         ((iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 4 ||\n          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3)))" (parenthesized_expression "((iVar3 == 4) ||\n          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3))" ( (binary_expression "(iVar3 == 4) ||\n          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3)" (parenthesized_expression "(iVar3 == 4)" ( (binary_expression "iVar3 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3)" ( (comma_expression "iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3" (assignment_expression "iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" (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 "(unaff_s3)" ( identifier )))) , (binary_expression "iVar3 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 4 ||\n          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3)))" ( (parenthesized_expression "(iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 4 ||\n          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3))" ( (comma_expression "iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 4 ||\n          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3)" (assignment_expression "iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" (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 "(unaff_s3)" ( identifier )))) , (binary_expression "iVar3 == 4 ||\n          (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3)" (binary_expression "iVar3 == 4" identifier == number_literal) || (parenthesized_expression "(iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3)" ( (comma_expression "iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar3 == 3" (assignment_expression "iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" (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 "(unaff_s3)" ( identifier )))) , (binary_expression "iVar3 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n        iVar15 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar3 = iVar15;\n        if (iVar15 < 0) {\n          iVar3 = iVar15 + 0x3f;\n        }\n        unaff_s6 = (Image *)(iVar3 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar15 < 0x80;\n        }\n        unaff_s5 = (Image *)(bVar1 ^ 1);\n        pIVar10 = (Image *)0x1;\n        if ((unaff_s5 != (Image *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), pIVar10 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          pIVar10 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }" { (expression_statement "iVar15 = (int)unaff_s5 - (int)unaff_s6;" (assignment_expression "iVar15 = (int)unaff_s5 - (int)unaff_s6" identifier = (binary_expression "(int)unaff_s5 - (int)unaff_s6" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (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 "iVar3 = iVar15;" (assignment_expression "iVar3 = iVar15" identifier = identifier) ;) (if_statement "if (iVar15 < 0) {\n          iVar3 = iVar15 + 0x3f;\n        }" if (parenthesized_expression "(iVar15 < 0)" ( (binary_expression "iVar15 < 0" identifier < number_literal) )) (compound_statement "{\n          iVar3 = iVar15 + 0x3f;\n        }" { (expression_statement "iVar3 = iVar15 + 0x3f;" (assignment_expression "iVar3 = iVar15 + 0x3f" identifier = (binary_expression "iVar15 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "unaff_s6 = (Image *)(iVar3 >> 6);" (assignment_expression "unaff_s6 = (Image *)(iVar3 >> 6)" identifier = (cast_expression "(Image *)(iVar3 >> 6)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 >> 6)" ( (binary_expression "iVar3 >> 6" identifier >> number_literal) )))) ;) (if_statement "if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar15 < 0x80;\n        }" if (parenthesized_expression "(extraout_v1 < (int)unaff_s6)" ( (binary_expression "extraout_v1 < (int)unaff_s6" identifier < (cast_expression "(int)unaff_s6" ( (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 = iVar15 < 0x80;\n        }" else (compound_statement "{\n          bVar1 = iVar15 < 0x80;\n        }" { (expression_statement "bVar1 = iVar15 < 0x80;" (assignment_expression "bVar1 = iVar15 < 0x80" identifier = (binary_expression "iVar15 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "unaff_s5 = (Image *)(bVar1 ^ 1);" (assignment_expression "unaff_s5 = (Image *)(bVar1 ^ 1)" identifier = (cast_expression "(Image *)(bVar1 ^ 1)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(bVar1 ^ 1)" ( (binary_expression "bVar1 ^ 1" identifier ^ number_literal) )))) ;) (expression_statement "pIVar10 = (Image *)0x1;" (assignment_expression "pIVar10 = (Image *)0x1" identifier = (cast_expression "(Image *)0x1" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((unaff_s5 != (Image *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), pIVar10 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          pIVar10 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }" if (parenthesized_expression "((unaff_s5 != (Image *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), pIVar10 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6))" ( (binary_expression "(unaff_s5 != (Image *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), pIVar10 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)" (parenthesized_expression "(unaff_s5 != (Image *)0x0)" ( (binary_expression "unaff_s5 != (Image *)0x0" identifier != (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), pIVar10 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)" ( (comma_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7), pIVar10 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6" (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 "pIVar10 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6" (assignment_expression "pIVar10 = unaff_s6" identifier = identifier) , (binary_expression "extraout_v1_01 < (int)unaff_s6" identifier < (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)))) ))) )) (compound_statement "{\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          pIVar10 = extraout_v1_03;\n          unaff_s6 = 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 "pIVar10 = extraout_v1_03;" (assignment_expression "pIVar10 = extraout_v1_03" identifier = identifier) ;) (expression_statement "unaff_s6 = extraout_v1_03;" (assignment_expression "unaff_s6 = extraout_v1_03" identifier = identifier) ;) })) }) (else_clause "else {\n        uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n          uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n            pIVar10 = (Image *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          pIVar10 = extraout_v1_00;\n        }\n        else {\n          pIVar10 = (Image *)0x2;\n        }\n      }" else (compound_statement "{\n        uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n          uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n            pIVar10 = (Image *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          pIVar10 = extraout_v1_00;\n        }\n        else {\n          pIVar10 = (Image *)0x2;\n        }\n      }" { (expression_statement "uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar24 = (*(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)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n          uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n            pIVar10 = (Image *)0x1;\n            goto LAB_000ff780;\n          }\n        }" if (parenthesized_expression "(((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2))" ( (binary_expression "((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)" (parenthesized_expression "((int)((ulonglong)uVar24 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar24 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar24 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar24 >> 0x20)" ( (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar24 < 2)" ( (binary_expression "(uint)uVar24 < 2" (cast_expression "(uint)uVar24" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n          uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n            pIVar10 = (Image *)0x1;\n            goto LAB_000ff780;\n          }\n        }" { (expression_statement "uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar24 = (*(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)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n            pIVar10 = (Image *)0x1;\n            goto LAB_000ff780;\n          }" if (parenthesized_expression "(((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2))" ( (binary_expression "((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)" (parenthesized_expression "((int)((ulonglong)uVar24 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar24 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar24 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar24 >> 0x20)" ( (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar24 < 2)" ( (binary_expression "(uint)uVar24 < 2" (cast_expression "(uint)uVar24" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n            pIVar10 = (Image *)0x1;\n            goto LAB_000ff780;\n          }" { (expression_statement "pIVar10 = (Image *)0x1;" (assignment_expression "pIVar10 = (Image *)0x1" identifier = (cast_expression "(Image *)0x1" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000ff780;" goto statement_identifier ;) })) })) (expression_statement "uVar24 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar24 = (*(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)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          pIVar10 = extraout_v1_00;\n        }\n        else {\n          pIVar10 = (Image *)0x2;\n        }" if (parenthesized_expression "(((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2))" ( (binary_expression "((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)" (parenthesized_expression "((int)((ulonglong)uVar24 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar24 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar24 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar24 >> 0x20)" ( (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar24 < 2)" ( (binary_expression "(uint)uVar24 < 2" (cast_expression "(uint)uVar24" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          pIVar10 = 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 "pIVar10 = extraout_v1_00;" (assignment_expression "pIVar10 = extraout_v1_00" identifier = identifier) ;) }) (else_clause "else {\n          pIVar10 = (Image *)0x2;\n        }" else (compound_statement "{\n          pIVar10 = (Image *)0x2;\n        }" { (expression_statement "pIVar10 = (Image *)0x2;" (assignment_expression "pIVar10 = (Image *)0x2" identifier = (cast_expression "(Image *)0x2" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }))) (labeled_statement "LAB_000ff780:\n      in_a3 = (undefined *)0x0;" statement_identifier : (expression_statement "in_a3 = (undefined *)0x0;" (assignment_expression "in_a3 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "local_2c = MagickTrue;" (assignment_expression "local_2c = MagickTrue" identifier = identifier) ;) (expression_statement "local_28 = &progress;" (assignment_expression "local_28 = &progress" identifier = (pointer_expression "&progress" & identifier)) ;) (expression_statement "ppIVar7 = &local_3c;" (assignment_expression "ppIVar7 = &local_3c" identifier = (pointer_expression "&local_3c" & identifier)) ;) (expression_statement "local_3c = destination;" (assignment_expression "local_3c = destination" identifier = identifier) ;) (expression_statement "local_38 = set;" (assignment_expression "local_38 = set" identifier = identifier) ;) (expression_statement "local_34 = context;" (assignment_expression "local_34 = context" identifier = identifier) ;) (expression_statement "local_30 = unaff_s3;" (assignment_expression "local_30 = unaff_s3" identifier = identifier) ;) (expression_statement "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);" (call_expression "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0)" (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_003a8a94 + -0x20c0)" ( (binary_expression "PTR_LAB_003a8a94 + -0x20c0" identifier + number_literal) ))) ;) (expression_statement "MVar4 = local_2c;" (assignment_expression "MVar4 = local_2c" identifier = identifier) ;) }))) (expression_statement "pIVar5 = local_24;" (assignment_expression "pIVar5 = local_24" identifier = identifier) ;) (expression_statement "unaff_s2 = (ImageView **)set;" (assignment_expression "unaff_s2 = (ImageView **)set" identifier = (cast_expression "(ImageView **)set" ( (type_descriptor "ImageView **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "unaff_s4 = (undefined *)context;" (assignment_expression "unaff_s4 = (undefined *)context" identifier = (cast_expression "(undefined *)context" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (local_24 == *(ImageView **)puVar2) {\n      return MVar4;\n    }" if (parenthesized_expression "(local_24 == *(ImageView **)puVar2)" ( (binary_expression "local_24 == *(ImageView **)puVar2" identifier == (pointer_expression "*(ImageView **)puVar2" * (cast_expression "(ImageView **)puVar2" ( (type_descriptor "ImageView **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n      return MVar4;\n    }" { (return_statement "return MVar4;" return identifier ;) })) }))) (expression_statement "puVar21 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar21 = 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 "puStack_b8 = puVar21 + 0x2b0f7c;" (assignment_expression "puStack_b8 = puVar21 + 0x2b0f7c" identifier = (binary_expression "puVar21 + 0x2b0f7c" identifier + number_literal)) ;) (expression_statement "puStack_84 = puVar2;" (assignment_expression "puStack_84 = puVar2" identifier = identifier) ;) (expression_statement "piVar16 = *(int **)(puVar21 + 0x2a98fc);" (assignment_expression "piVar16 = *(int **)(puVar21 + 0x2a98fc)" identifier = (pointer_expression "*(int **)(puVar21 + 0x2a98fc)" * (cast_expression "(int **)(puVar21 + 0x2a98fc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x2a98fc)" ( (binary_expression "puVar21 + 0x2a98fc" identifier + number_literal) ))))) ;) (expression_statement "pIStack_8c = (ImageView *)*piVar16;" (assignment_expression "pIStack_8c = (ImageView *)*piVar16" identifier = (cast_expression "(ImageView *)*piVar16" ( (type_descriptor "ImageView *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar16" * identifier))) ;) (expression_statement "pIStack_88 = unaff_s0;" (assignment_expression "pIStack_88 = unaff_s0" identifier = identifier) ;) (expression_statement "ppIStack_80 = unaff_s2;" (assignment_expression "ppIStack_80 = unaff_s2" identifier = identifier) ;) (expression_statement "pIStack_7c = unaff_s3;" (assignment_expression "pIStack_7c = unaff_s3" identifier = identifier) ;) (expression_statement "puStack_78 = unaff_s4;" (assignment_expression "puStack_78 = unaff_s4" identifier = identifier) ;) (expression_statement "pIStack_74 = unaff_s5;" (assignment_expression "pIStack_74 = unaff_s5" identifier = identifier) ;) (expression_statement "pIStack_70 = unaff_s6;" (assignment_expression "pIStack_70 = unaff_s6" identifier = identifier) ;) (if_statement "if (pIVar5 == (ImageView *)0x0) {\n    MVar4 = (**(code **)(puVar21 + 0x2a9cd4))\n                      (*(int *)(puVar21 + 0x2a8fb0) + -0x50fc,*(int *)(puVar21 + 0x2a8fb0) + -0x5168\n                       ,0x3fa,*(int *)(puVar21 + 0x2a8fb0) + -0x5008);\n    return MVar4;\n  }" if (parenthesized_expression "(pIVar5 == (ImageView *)0x0)" ( (binary_expression "pIVar5 == (ImageView *)0x0" identifier == (cast_expression "(ImageView *)0x0" ( (type_descriptor "ImageView *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    MVar4 = (**(code **)(puVar21 + 0x2a9cd4))\n                      (*(int *)(puVar21 + 0x2a8fb0) + -0x50fc,*(int *)(puVar21 + 0x2a8fb0) + -0x5168\n                       ,0x3fa,*(int *)(puVar21 + 0x2a8fb0) + -0x5008);\n    return MVar4;\n  }" { (expression_statement "MVar4 = (**(code **)(puVar21 + 0x2a9cd4))\n                      (*(int *)(puVar21 + 0x2a8fb0) + -0x50fc,*(int *)(puVar21 + 0x2a8fb0) + -0x5168\n                       ,0x3fa,*(int *)(puVar21 + 0x2a8fb0) + -0x5008);" (assignment_expression "MVar4 = (**(code **)(puVar21 + 0x2a9cd4))\n                      (*(int *)(puVar21 + 0x2a8fb0) + -0x50fc,*(int *)(puVar21 + 0x2a8fb0) + -0x5168\n                       ,0x3fa,*(int *)(puVar21 + 0x2a8fb0) + -0x5008)" identifier = (call_expression "(**(code **)(puVar21 + 0x2a9cd4))\n                      (*(int *)(puVar21 + 0x2a8fb0) + -0x50fc,*(int *)(puVar21 + 0x2a8fb0) + -0x5168\n                       ,0x3fa,*(int *)(puVar21 + 0x2a8fb0) + -0x5008)" (parenthesized_expression "(**(code **)(puVar21 + 0x2a9cd4))" ( (pointer_expression "**(code **)(puVar21 + 0x2a9cd4)" * (pointer_expression "*(code **)(puVar21 + 0x2a9cd4)" * (cast_expression "(code **)(puVar21 + 0x2a9cd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x2a9cd4)" ( (binary_expression "puVar21 + 0x2a9cd4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar21 + 0x2a8fb0) + -0x50fc,*(int *)(puVar21 + 0x2a8fb0) + -0x5168\n                       ,0x3fa,*(int *)(puVar21 + 0x2a8fb0) + -0x5008)" ( (binary_expression "*(int *)(puVar21 + 0x2a8fb0) + -0x50fc" (pointer_expression "*(int *)(puVar21 + 0x2a8fb0)" * (cast_expression "(int *)(puVar21 + 0x2a8fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x2a8fb0)" ( (binary_expression "puVar21 + 0x2a8fb0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar21 + 0x2a8fb0) + -0x5168" (pointer_expression "*(int *)(puVar21 + 0x2a8fb0)" * (cast_expression "(int *)(puVar21 + 0x2a8fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x2a8fb0)" ( (binary_expression "puVar21 + 0x2a8fb0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar21 + 0x2a8fb0) + -0x5008" (pointer_expression "*(int *)(puVar21 + 0x2a8fb0)" * (cast_expression "(int *)(puVar21 + 0x2a8fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x2a8fb0)" ( (binary_expression "puVar21 + 0x2a8fb0" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return MVar4;" return identifier ;) })) (if_statement "if (pIVar5->signature != 0xabacadab) {\n    MVar4 = (**(code **)(puVar21 + 0x2a9cd4))\n                      (*(int *)(puVar21 + 0x2a8fb4) + 0x3930,*(int *)(puVar21 + 0x2a8fb0) + -0x5168,\n                       0x3fb,*(int *)(puVar21 + 0x2a8fb0) + -0x5008);\n    return MVar4;\n  }" if (parenthesized_expression "(pIVar5->signature != 0xabacadab)" ( (binary_expression "pIVar5->signature != 0xabacadab" (field_expression "pIVar5->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n    MVar4 = (**(code **)(puVar21 + 0x2a9cd4))\n                      (*(int *)(puVar21 + 0x2a8fb4) + 0x3930,*(int *)(puVar21 + 0x2a8fb0) + -0x5168,\n                       0x3fb,*(int *)(puVar21 + 0x2a8fb0) + -0x5008);\n    return MVar4;\n  }" { (expression_statement "MVar4 = (**(code **)(puVar21 + 0x2a9cd4))\n                      (*(int *)(puVar21 + 0x2a8fb4) + 0x3930,*(int *)(puVar21 + 0x2a8fb0) + -0x5168,\n                       0x3fb,*(int *)(puVar21 + 0x2a8fb0) + -0x5008);" (assignment_expression "MVar4 = (**(code **)(puVar21 + 0x2a9cd4))\n                      (*(int *)(puVar21 + 0x2a8fb4) + 0x3930,*(int *)(puVar21 + 0x2a8fb0) + -0x5168,\n                       0x3fb,*(int *)(puVar21 + 0x2a8fb0) + -0x5008)" identifier = (call_expression "(**(code **)(puVar21 + 0x2a9cd4))\n                      (*(int *)(puVar21 + 0x2a8fb4) + 0x3930,*(int *)(puVar21 + 0x2a8fb0) + -0x5168,\n                       0x3fb,*(int *)(puVar21 + 0x2a8fb0) + -0x5008)" (parenthesized_expression "(**(code **)(puVar21 + 0x2a9cd4))" ( (pointer_expression "**(code **)(puVar21 + 0x2a9cd4)" * (pointer_expression "*(code **)(puVar21 + 0x2a9cd4)" * (cast_expression "(code **)(puVar21 + 0x2a9cd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x2a9cd4)" ( (binary_expression "puVar21 + 0x2a9cd4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar21 + 0x2a8fb4) + 0x3930,*(int *)(puVar21 + 0x2a8fb0) + -0x5168,\n                       0x3fb,*(int *)(puVar21 + 0x2a8fb0) + -0x5008)" ( (binary_expression "*(int *)(puVar21 + 0x2a8fb4) + 0x3930" (pointer_expression "*(int *)(puVar21 + 0x2a8fb4)" * (cast_expression "(int *)(puVar21 + 0x2a8fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x2a8fb4)" ( (binary_expression "puVar21 + 0x2a8fb4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar21 + 0x2a8fb0) + -0x5168" (pointer_expression "*(int *)(puVar21 + 0x2a8fb0)" * (cast_expression "(int *)(puVar21 + 0x2a8fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x2a8fb0)" ( (binary_expression "puVar21 + 0x2a8fb0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar21 + 0x2a8fb0) + -0x5008" (pointer_expression "*(int *)(puVar21 + 0x2a8fb0)" * (cast_expression "(int *)(puVar21 + 0x2a8fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x2a8fb0)" ( (binary_expression "puVar21 + 0x2a8fb0" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return MVar4;" return identifier ;) })) (expression_statement "ppIVar8 = ppIVar7;" (assignment_expression "ppIVar8 = ppIVar7" identifier = identifier) ;) (expression_statement "pIVar11 = pIVar10;" (assignment_expression "pIVar11 = pIVar10" identifier = identifier) ;) (expression_statement "pIVar20 = unaff_s6;" (assignment_expression "pIVar20 = unaff_s6" identifier = identifier) ;) (if_statement "if (pIVar10 == (Image *)0x0) {\nLAB_000ff9c8:\n    MVar4 = MagickFalse;\n    ppIVar7 = unaff_s2;\n    in_a3 = unaff_s4;\n  }\n  else {\n    pIVar18 = (Image *)ppIVar7[5];\n    ppIVar8 = (ImageView **)0x1;\n    pIVar11 = (Image *)ppIVar7[7];\n    pIVar20 = pIVar5->image;\n    iVar3 = (**(code **)(puVar21 + 0x2a9ef0))(pIVar18);\n    unaff_s2 = ppIVar7;\n    unaff_s4 = in_a3;\n    unaff_s5 = pIVar18;\n    if (iVar3 == 0) goto LAB_000ff9c8;\n    sVar19 = (pIVar5->extent).height;\n    iVar15 = (pIVar5->extent).y;\n    uStack_ac = 0;\n    uStack_b0 = 0;\n    iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar20);\n    if (((iVar3 == 4) || (iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar20), iVar3 == 3)) &&\n       ((iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar18), iVar3 == 4 ||\n        (iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar18), iVar3 == 3)))) {\n      iVar15 = sVar19 - iVar15;\n      (**(code **)(puStack_b8 + -0x7774))(7);\n      iVar3 = iVar15;\n      if (iVar15 < 0) {\n        iVar3 = iVar15 + 0x3f;\n      }\n      unaff_s5 = (Image *)(iVar3 >> 6);\n      if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }\n      pIVar11 = (Image *)0x1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        pIVar18 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          pIVar18 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }\n      iVar3 = *(int *)(puStack_b8 + -0x7e1c);\n    }\n    else {\n      uVar24 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n        pcVar22 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar24 < 2) {\n          uVar24 = (*pcVar22)(7);\n          if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar22 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar24 < 2) {\n            unaff_s5 = (Image *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar22 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar24 = (*pcVar22)(7);\n      if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (Image *)0x2;\n      }\nLAB_000ffa7c:\n      iVar3 = *(int *)(puStack_b8 + -0x7e1c);\n      pIVar11 = unaff_s5;\n      unaff_s5 = pIVar18;\n    }\n    MStack_94 = MagickTrue;\n    puStack_90 = &uStack_b0;\n    ppIVar8 = &pIStack_a8;\n    pIStack_a8 = pIVar5;\n    ppIStack_a4 = ppIVar7;\n    pIStack_a0 = pIVar10;\n    puStack_9c = in_a3;\n    pIStack_98 = pIVar20;\n    (**(code **)(puStack_b8 + -0x7718))(iVar3 + -0x1ecc,ppIVar8,pIVar11,0);\n    MVar4 = MStack_94;\n  }" if (parenthesized_expression "(pIVar10 == (Image *)0x0)" ( (binary_expression "pIVar10 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000ff9c8:\n    MVar4 = MagickFalse;\n    ppIVar7 = unaff_s2;\n    in_a3 = unaff_s4;\n  }" { (labeled_statement "LAB_000ff9c8:\n    MVar4 = MagickFalse;" statement_identifier : (expression_statement "MVar4 = MagickFalse;" (assignment_expression "MVar4 = MagickFalse" identifier = identifier) ;)) (expression_statement "ppIVar7 = unaff_s2;" (assignment_expression "ppIVar7 = unaff_s2" identifier = identifier) ;) (expression_statement "in_a3 = unaff_s4;" (assignment_expression "in_a3 = unaff_s4" identifier = identifier) ;) }) (else_clause "else {\n    pIVar18 = (Image *)ppIVar7[5];\n    ppIVar8 = (ImageView **)0x1;\n    pIVar11 = (Image *)ppIVar7[7];\n    pIVar20 = pIVar5->image;\n    iVar3 = (**(code **)(puVar21 + 0x2a9ef0))(pIVar18);\n    unaff_s2 = ppIVar7;\n    unaff_s4 = in_a3;\n    unaff_s5 = pIVar18;\n    if (iVar3 == 0) goto LAB_000ff9c8;\n    sVar19 = (pIVar5->extent).height;\n    iVar15 = (pIVar5->extent).y;\n    uStack_ac = 0;\n    uStack_b0 = 0;\n    iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar20);\n    if (((iVar3 == 4) || (iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar20), iVar3 == 3)) &&\n       ((iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar18), iVar3 == 4 ||\n        (iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar18), iVar3 == 3)))) {\n      iVar15 = sVar19 - iVar15;\n      (**(code **)(puStack_b8 + -0x7774))(7);\n      iVar3 = iVar15;\n      if (iVar15 < 0) {\n        iVar3 = iVar15 + 0x3f;\n      }\n      unaff_s5 = (Image *)(iVar3 >> 6);\n      if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }\n      pIVar11 = (Image *)0x1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        pIVar18 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          pIVar18 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }\n      iVar3 = *(int *)(puStack_b8 + -0x7e1c);\n    }\n    else {\n      uVar24 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n        pcVar22 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar24 < 2) {\n          uVar24 = (*pcVar22)(7);\n          if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar22 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar24 < 2) {\n            unaff_s5 = (Image *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar22 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar24 = (*pcVar22)(7);\n      if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (Image *)0x2;\n      }\nLAB_000ffa7c:\n      iVar3 = *(int *)(puStack_b8 + -0x7e1c);\n      pIVar11 = unaff_s5;\n      unaff_s5 = pIVar18;\n    }\n    MStack_94 = MagickTrue;\n    puStack_90 = &uStack_b0;\n    ppIVar8 = &pIStack_a8;\n    pIStack_a8 = pIVar5;\n    ppIStack_a4 = ppIVar7;\n    pIStack_a0 = pIVar10;\n    puStack_9c = in_a3;\n    pIStack_98 = pIVar20;\n    (**(code **)(puStack_b8 + -0x7718))(iVar3 + -0x1ecc,ppIVar8,pIVar11,0);\n    MVar4 = MStack_94;\n  }" else (compound_statement "{\n    pIVar18 = (Image *)ppIVar7[5];\n    ppIVar8 = (ImageView **)0x1;\n    pIVar11 = (Image *)ppIVar7[7];\n    pIVar20 = pIVar5->image;\n    iVar3 = (**(code **)(puVar21 + 0x2a9ef0))(pIVar18);\n    unaff_s2 = ppIVar7;\n    unaff_s4 = in_a3;\n    unaff_s5 = pIVar18;\n    if (iVar3 == 0) goto LAB_000ff9c8;\n    sVar19 = (pIVar5->extent).height;\n    iVar15 = (pIVar5->extent).y;\n    uStack_ac = 0;\n    uStack_b0 = 0;\n    iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar20);\n    if (((iVar3 == 4) || (iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar20), iVar3 == 3)) &&\n       ((iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar18), iVar3 == 4 ||\n        (iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar18), iVar3 == 3)))) {\n      iVar15 = sVar19 - iVar15;\n      (**(code **)(puStack_b8 + -0x7774))(7);\n      iVar3 = iVar15;\n      if (iVar15 < 0) {\n        iVar3 = iVar15 + 0x3f;\n      }\n      unaff_s5 = (Image *)(iVar3 >> 6);\n      if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }\n      pIVar11 = (Image *)0x1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        pIVar18 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          pIVar18 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }\n      iVar3 = *(int *)(puStack_b8 + -0x7e1c);\n    }\n    else {\n      uVar24 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n        pcVar22 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar24 < 2) {\n          uVar24 = (*pcVar22)(7);\n          if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar22 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar24 < 2) {\n            unaff_s5 = (Image *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar22 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar24 = (*pcVar22)(7);\n      if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (Image *)0x2;\n      }\nLAB_000ffa7c:\n      iVar3 = *(int *)(puStack_b8 + -0x7e1c);\n      pIVar11 = unaff_s5;\n      unaff_s5 = pIVar18;\n    }\n    MStack_94 = MagickTrue;\n    puStack_90 = &uStack_b0;\n    ppIVar8 = &pIStack_a8;\n    pIStack_a8 = pIVar5;\n    ppIStack_a4 = ppIVar7;\n    pIStack_a0 = pIVar10;\n    puStack_9c = in_a3;\n    pIStack_98 = pIVar20;\n    (**(code **)(puStack_b8 + -0x7718))(iVar3 + -0x1ecc,ppIVar8,pIVar11,0);\n    MVar4 = MStack_94;\n  }" { (expression_statement "pIVar18 = (Image *)ppIVar7[5];" (assignment_expression "pIVar18 = (Image *)ppIVar7[5]" identifier = (cast_expression "(Image *)ppIVar7[5]" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppIVar7[5]" identifier [ number_literal ]))) ;) (expression_statement "ppIVar8 = (ImageView **)0x1;" (assignment_expression "ppIVar8 = (ImageView **)0x1" identifier = (cast_expression "(ImageView **)0x1" ( (type_descriptor "ImageView **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pIVar11 = (Image *)ppIVar7[7];" (assignment_expression "pIVar11 = (Image *)ppIVar7[7]" identifier = (cast_expression "(Image *)ppIVar7[7]" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppIVar7[7]" identifier [ number_literal ]))) ;) (expression_statement "pIVar20 = pIVar5->image;" (assignment_expression "pIVar20 = pIVar5->image" identifier = (field_expression "pIVar5->image" identifier -> field_identifier)) ;) (expression_statement "iVar3 = (**(code **)(puVar21 + 0x2a9ef0))(pIVar18);" (assignment_expression "iVar3 = (**(code **)(puVar21 + 0x2a9ef0))(pIVar18)" identifier = (call_expression "(**(code **)(puVar21 + 0x2a9ef0))(pIVar18)" (parenthesized_expression "(**(code **)(puVar21 + 0x2a9ef0))" ( (pointer_expression "**(code **)(puVar21 + 0x2a9ef0)" * (pointer_expression "*(code **)(puVar21 + 0x2a9ef0)" * (cast_expression "(code **)(puVar21 + 0x2a9ef0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x2a9ef0)" ( (binary_expression "puVar21 + 0x2a9ef0" identifier + number_literal) ))))) )) (argument_list "(pIVar18)" ( identifier )))) ;) (expression_statement "unaff_s2 = ppIVar7;" (assignment_expression "unaff_s2 = ppIVar7" identifier = identifier) ;) (expression_statement "unaff_s4 = in_a3;" (assignment_expression "unaff_s4 = in_a3" identifier = identifier) ;) (expression_statement "unaff_s5 = pIVar18;" (assignment_expression "unaff_s5 = pIVar18" identifier = identifier) ;) (if_statement "if (iVar3 == 0) goto LAB_000ff9c8;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000ff9c8;" goto statement_identifier ;)) (expression_statement "sVar19 = (pIVar5->extent).height;" (assignment_expression "sVar19 = (pIVar5->extent).height" identifier = (field_expression "(pIVar5->extent).height" (parenthesized_expression "(pIVar5->extent)" ( (field_expression "pIVar5->extent" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "iVar15 = (pIVar5->extent).y;" (assignment_expression "iVar15 = (pIVar5->extent).y" identifier = (field_expression "(pIVar5->extent).y" (parenthesized_expression "(pIVar5->extent)" ( (field_expression "pIVar5->extent" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uStack_ac = 0;" (assignment_expression "uStack_ac = 0" identifier = number_literal) ;) (expression_statement "uStack_b0 = 0;" (assignment_expression "uStack_b0 = 0" identifier = number_literal) ;) (expression_statement "iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar20);" (assignment_expression "iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar20)" identifier = (call_expression "(**(code **)(puStack_b8 + -0x73fc))(pIVar20)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_b8 + -0x73fc)" * (pointer_expression "*(code **)(puStack_b8 + -0x73fc)" * (cast_expression "(code **)(puStack_b8 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x73fc)" ( (binary_expression "puStack_b8 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(pIVar20)" ( identifier )))) ;) (if_statement "if (((iVar3 == 4) || (iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar20), iVar3 == 3)) &&\n       ((iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar18), iVar3 == 4 ||\n        (iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar18), iVar3 == 3)))) {\n      iVar15 = sVar19 - iVar15;\n      (**(code **)(puStack_b8 + -0x7774))(7);\n      iVar3 = iVar15;\n      if (iVar15 < 0) {\n        iVar3 = iVar15 + 0x3f;\n      }\n      unaff_s5 = (Image *)(iVar3 >> 6);\n      if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }\n      pIVar11 = (Image *)0x1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        pIVar18 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          pIVar18 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }\n      iVar3 = *(int *)(puStack_b8 + -0x7e1c);\n    }\n    else {\n      uVar24 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n        pcVar22 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar24 < 2) {\n          uVar24 = (*pcVar22)(7);\n          if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar22 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar24 < 2) {\n            unaff_s5 = (Image *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar22 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar24 = (*pcVar22)(7);\n      if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (Image *)0x2;\n      }\nLAB_000ffa7c:\n      iVar3 = *(int *)(puStack_b8 + -0x7e1c);\n      pIVar11 = unaff_s5;\n      unaff_s5 = pIVar18;\n    }" if (parenthesized_expression "(((iVar3 == 4) || (iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar20), iVar3 == 3)) &&\n       ((iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar18), iVar3 == 4 ||\n        (iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar18), iVar3 == 3))))" ( (binary_expression "((iVar3 == 4) || (iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar20), iVar3 == 3)) &&\n       ((iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar18), iVar3 == 4 ||\n        (iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar18), iVar3 == 3)))" (parenthesized_expression "((iVar3 == 4) || (iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar20), iVar3 == 3))" ( (binary_expression "(iVar3 == 4) || (iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar20), iVar3 == 3)" (parenthesized_expression "(iVar3 == 4)" ( (binary_expression "iVar3 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar20), iVar3 == 3)" ( (comma_expression "iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar20), iVar3 == 3" (assignment_expression "iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar20)" identifier = (call_expression "(**(code **)(puStack_b8 + -0x73fc))(pIVar20)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_b8 + -0x73fc)" * (pointer_expression "*(code **)(puStack_b8 + -0x73fc)" * (cast_expression "(code **)(puStack_b8 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x73fc)" ( (binary_expression "puStack_b8 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(pIVar20)" ( identifier )))) , (binary_expression "iVar3 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar18), iVar3 == 4 ||\n        (iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar18), iVar3 == 3)))" ( (parenthesized_expression "(iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar18), iVar3 == 4 ||\n        (iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar18), iVar3 == 3))" ( (comma_expression "iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar18), iVar3 == 4 ||\n        (iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar18), iVar3 == 3)" (assignment_expression "iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar18)" identifier = (call_expression "(**(code **)(puStack_b8 + -0x73fc))(pIVar18)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_b8 + -0x73fc)" * (pointer_expression "*(code **)(puStack_b8 + -0x73fc)" * (cast_expression "(code **)(puStack_b8 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x73fc)" ( (binary_expression "puStack_b8 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(pIVar18)" ( identifier )))) , (binary_expression "iVar3 == 4 ||\n        (iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar18), iVar3 == 3)" (binary_expression "iVar3 == 4" identifier == number_literal) || (parenthesized_expression "(iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar18), iVar3 == 3)" ( (comma_expression "iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar18), iVar3 == 3" (assignment_expression "iVar3 = (**(code **)(puStack_b8 + -0x73fc))(pIVar18)" identifier = (call_expression "(**(code **)(puStack_b8 + -0x73fc))(pIVar18)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_b8 + -0x73fc)" * (pointer_expression "*(code **)(puStack_b8 + -0x73fc)" * (cast_expression "(code **)(puStack_b8 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x73fc)" ( (binary_expression "puStack_b8 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(pIVar18)" ( identifier )))) , (binary_expression "iVar3 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n      iVar15 = sVar19 - iVar15;\n      (**(code **)(puStack_b8 + -0x7774))(7);\n      iVar3 = iVar15;\n      if (iVar15 < 0) {\n        iVar3 = iVar15 + 0x3f;\n      }\n      unaff_s5 = (Image *)(iVar3 >> 6);\n      if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }\n      pIVar11 = (Image *)0x1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        pIVar18 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          pIVar18 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }\n      iVar3 = *(int *)(puStack_b8 + -0x7e1c);\n    }" { (expression_statement "iVar15 = sVar19 - iVar15;" (assignment_expression "iVar15 = sVar19 - iVar15" identifier = (binary_expression "sVar19 - iVar15" identifier - identifier)) ;) (expression_statement "(**(code **)(puStack_b8 + -0x7774))(7);" (call_expression "(**(code **)(puStack_b8 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x7774))" ( (pointer_expression "**(code **)(puStack_b8 + -0x7774)" * (pointer_expression "*(code **)(puStack_b8 + -0x7774)" * (cast_expression "(code **)(puStack_b8 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x7774)" ( (binary_expression "puStack_b8 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar3 = iVar15;" (assignment_expression "iVar3 = iVar15" identifier = identifier) ;) (if_statement "if (iVar15 < 0) {\n        iVar3 = iVar15 + 0x3f;\n      }" if (parenthesized_expression "(iVar15 < 0)" ( (binary_expression "iVar15 < 0" identifier < number_literal) )) (compound_statement "{\n        iVar3 = iVar15 + 0x3f;\n      }" { (expression_statement "iVar3 = iVar15 + 0x3f;" (assignment_expression "iVar3 = iVar15 + 0x3f" identifier = (binary_expression "iVar15 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "unaff_s5 = (Image *)(iVar3 >> 6);" (assignment_expression "unaff_s5 = (Image *)(iVar3 >> 6)" identifier = (cast_expression "(Image *)(iVar3 >> 6)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 >> 6)" ( (binary_expression "iVar3 >> 6" identifier >> number_literal) )))) ;) (if_statement "if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }" if (parenthesized_expression "(extraout_v1_04 < (int)unaff_s5)" ( (binary_expression "extraout_v1_04 < (int)unaff_s5" identifier < (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }" { (expression_statement "(**(code **)(puStack_b8 + -0x7774))(7);" (call_expression "(**(code **)(puStack_b8 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x7774))" ( (pointer_expression "**(code **)(puStack_b8 + -0x7774)" * (pointer_expression "*(code **)(puStack_b8 + -0x7774)" * (cast_expression "(code **)(puStack_b8 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x7774)" ( (binary_expression "puStack_b8 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_07 < 2;" (assignment_expression "bVar1 = extraout_v1_07 < 2" identifier = (binary_expression "extraout_v1_07 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n        bVar1 = iVar15 < 0x80;\n      }" else (compound_statement "{\n        bVar1 = iVar15 < 0x80;\n      }" { (expression_statement "bVar1 = iVar15 < 0x80;" (assignment_expression "bVar1 = iVar15 < 0x80" identifier = (binary_expression "iVar15 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "pIVar11 = (Image *)0x1;" (assignment_expression "pIVar11 = (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 **)(puStack_b8 + -0x7774))(7);\n        pIVar18 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          pIVar18 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\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_b8 + -0x7774))(7);\n        pIVar18 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          pIVar18 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }" { (expression_statement "(**(code **)(puStack_b8 + -0x7774))(7);" (call_expression "(**(code **)(puStack_b8 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x7774))" ( (pointer_expression "**(code **)(puStack_b8 + -0x7774)" * (pointer_expression "*(code **)(puStack_b8 + -0x7774)" * (cast_expression "(code **)(puStack_b8 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x7774)" ( (binary_expression "puStack_b8 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "pIVar18 = unaff_s5;" (assignment_expression "pIVar18 = unaff_s5" identifier = identifier) ;) (if_statement "if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          pIVar18 = extraout_v1_08;\n        }" if (parenthesized_expression "(extraout_v1_06 < (int)unaff_s5)" ( (binary_expression "extraout_v1_06 < (int)unaff_s5" identifier < (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          pIVar18 = extraout_v1_08;\n        }" { (expression_statement "(**(code **)(puStack_b8 + -0x7774))(7);" (call_expression "(**(code **)(puStack_b8 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x7774))" ( (pointer_expression "**(code **)(puStack_b8 + -0x7774)" * (pointer_expression "*(code **)(puStack_b8 + -0x7774)" * (cast_expression "(code **)(puStack_b8 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x7774)" ( (binary_expression "puStack_b8 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "unaff_s5 = extraout_v1_08;" (assignment_expression "unaff_s5 = extraout_v1_08" identifier = identifier) ;) (expression_statement "pIVar18 = extraout_v1_08;" (assignment_expression "pIVar18 = extraout_v1_08" identifier = identifier) ;) })) (goto_statement "goto LAB_000ffa7c;" goto statement_identifier ;) })) (expression_statement "iVar3 = *(int *)(puStack_b8 + -0x7e1c);" (assignment_expression "iVar3 = *(int *)(puStack_b8 + -0x7e1c)" identifier = (pointer_expression "*(int *)(puStack_b8 + -0x7e1c)" * (cast_expression "(int *)(puStack_b8 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_b8 + -0x7e1c)" ( (binary_expression "puStack_b8 + -0x7e1c" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      uVar24 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n        pcVar22 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar24 < 2) {\n          uVar24 = (*pcVar22)(7);\n          if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar22 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar24 < 2) {\n            unaff_s5 = (Image *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar22 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar24 = (*pcVar22)(7);\n      if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (Image *)0x2;\n      }\nLAB_000ffa7c:\n      iVar3 = *(int *)(puStack_b8 + -0x7e1c);\n      pIVar11 = unaff_s5;\n      unaff_s5 = pIVar18;\n    }" else (compound_statement "{\n      uVar24 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n        pcVar22 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar24 < 2) {\n          uVar24 = (*pcVar22)(7);\n          if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar22 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar24 < 2) {\n            unaff_s5 = (Image *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar22 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar24 = (*pcVar22)(7);\n      if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (Image *)0x2;\n      }\nLAB_000ffa7c:\n      iVar3 = *(int *)(puStack_b8 + -0x7e1c);\n      pIVar11 = unaff_s5;\n      unaff_s5 = pIVar18;\n    }" { (expression_statement "uVar24 = (**(code **)(puStack_b8 + -0x7774))(7);" (assignment_expression "uVar24 = (**(code **)(puStack_b8 + -0x7774))(7)" identifier = (call_expression "(**(code **)(puStack_b8 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x7774))" ( (pointer_expression "**(code **)(puStack_b8 + -0x7774)" * (pointer_expression "*(code **)(puStack_b8 + -0x7774)" * (cast_expression "(code **)(puStack_b8 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x7774)" ( (binary_expression "puStack_b8 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n        pcVar22 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar24 < 2) {\n          uVar24 = (*pcVar22)(7);\n          if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar22 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar24 < 2) {\n            unaff_s5 = (Image *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar22 = *(code **)(puStack_b8 + -0x7774);\n      }" if (parenthesized_expression "((int)((ulonglong)uVar24 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar24 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar24 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar24 >> 0x20)" ( (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n        pcVar22 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar24 < 2) {\n          uVar24 = (*pcVar22)(7);\n          if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar22 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar24 < 2) {\n            unaff_s5 = (Image *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }" { (expression_statement "pcVar22 = *(code **)(puStack_b8 + -0x7774);" (assignment_expression "pcVar22 = *(code **)(puStack_b8 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_b8 + -0x7774)" * (cast_expression "(code **)(puStack_b8 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x7774)" ( (binary_expression "puStack_b8 + -0x7774" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar24 < 2) {\n          uVar24 = (*pcVar22)(7);\n          if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar22 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar24 < 2) {\n            unaff_s5 = (Image *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }" if (parenthesized_expression "((uint)uVar24 < 2)" ( (binary_expression "(uint)uVar24 < 2" (cast_expression "(uint)uVar24" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n          uVar24 = (*pcVar22)(7);\n          if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar22 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar24 < 2) {\n            unaff_s5 = (Image *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }" { (expression_statement "uVar24 = (*pcVar22)(7);" (assignment_expression "uVar24 = (*pcVar22)(7)" identifier = (call_expression "(*pcVar22)(7)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffa64;" if (parenthesized_expression "((int)((ulonglong)uVar24 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar24 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar24 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar24 >> 0x20)" ( (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_000ffa64;" goto statement_identifier ;)) (expression_statement "pcVar22 = *(code **)(puStack_b8 + -0x7774);" (assignment_expression "pcVar22 = *(code **)(puStack_b8 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_b8 + -0x7774)" * (cast_expression "(code **)(puStack_b8 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x7774)" ( (binary_expression "puStack_b8 + -0x7774" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar24 < 2) {\n            unaff_s5 = (Image *)0x1;\n            goto LAB_000ffa7c;\n          }" if (parenthesized_expression "((uint)uVar24 < 2)" ( (binary_expression "(uint)uVar24 < 2" (cast_expression "(uint)uVar24" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n            unaff_s5 = (Image *)0x1;\n            goto LAB_000ffa7c;\n          }" { (expression_statement "unaff_s5 = (Image *)0x1;" (assignment_expression "unaff_s5 = (Image *)0x1" identifier = (cast_expression "(Image *)0x1" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000ffa7c;" goto statement_identifier ;) })) })) }) (else_clause "else {\nLAB_000ffa64:\n        pcVar22 = *(code **)(puStack_b8 + -0x7774);\n      }" else (compound_statement "{\nLAB_000ffa64:\n        pcVar22 = *(code **)(puStack_b8 + -0x7774);\n      }" { (labeled_statement "LAB_000ffa64:\n        pcVar22 = *(code **)(puStack_b8 + -0x7774);" statement_identifier : (expression_statement "pcVar22 = *(code **)(puStack_b8 + -0x7774);" (assignment_expression "pcVar22 = *(code **)(puStack_b8 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_b8 + -0x7774)" * (cast_expression "(code **)(puStack_b8 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x7774)" ( (binary_expression "puStack_b8 + -0x7774" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar24 = (*pcVar22)(7);" (assignment_expression "uVar24 = (*pcVar22)(7)" identifier = (call_expression "(*pcVar22)(7)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (Image *)0x2;\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2))" ( (binary_expression "((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)" (parenthesized_expression "((int)((ulonglong)uVar24 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar24 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar24 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar24 >> 0x20)" ( (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar24 < 2)" ( (binary_expression "(uint)uVar24 < 2" (cast_expression "(uint)uVar24" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }" { (expression_statement "(**(code **)(puStack_b8 + -0x7774))(7);" (call_expression "(**(code **)(puStack_b8 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x7774))" ( (pointer_expression "**(code **)(puStack_b8 + -0x7774)" * (pointer_expression "*(code **)(puStack_b8 + -0x7774)" * (cast_expression "(code **)(puStack_b8 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x7774)" ( (binary_expression "puStack_b8 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "unaff_s5 = extraout_v1_05;" (assignment_expression "unaff_s5 = extraout_v1_05" identifier = identifier) ;) }) (else_clause "else {\n        unaff_s5 = (Image *)0x2;\n      }" else (compound_statement "{\n        unaff_s5 = (Image *)0x2;\n      }" { (expression_statement "unaff_s5 = (Image *)0x2;" (assignment_expression "unaff_s5 = (Image *)0x2" identifier = (cast_expression "(Image *)0x2" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (labeled_statement "LAB_000ffa7c:\n      iVar3 = *(int *)(puStack_b8 + -0x7e1c);" statement_identifier : (expression_statement "iVar3 = *(int *)(puStack_b8 + -0x7e1c);" (assignment_expression "iVar3 = *(int *)(puStack_b8 + -0x7e1c)" identifier = (pointer_expression "*(int *)(puStack_b8 + -0x7e1c)" * (cast_expression "(int *)(puStack_b8 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_b8 + -0x7e1c)" ( (binary_expression "puStack_b8 + -0x7e1c" identifier + number_literal) ))))) ;)) (expression_statement "pIVar11 = unaff_s5;" (assignment_expression "pIVar11 = unaff_s5" identifier = identifier) ;) (expression_statement "unaff_s5 = pIVar18;" (assignment_expression "unaff_s5 = pIVar18" identifier = identifier) ;) }))) (expression_statement "MStack_94 = MagickTrue;" (assignment_expression "MStack_94 = MagickTrue" identifier = identifier) ;) (expression_statement "puStack_90 = &uStack_b0;" (assignment_expression "puStack_90 = &uStack_b0" identifier = (pointer_expression "&uStack_b0" & identifier)) ;) (expression_statement "ppIVar8 = &pIStack_a8;" (assignment_expression "ppIVar8 = &pIStack_a8" identifier = (pointer_expression "&pIStack_a8" & identifier)) ;) (expression_statement "pIStack_a8 = pIVar5;" (assignment_expression "pIStack_a8 = pIVar5" identifier = identifier) ;) (expression_statement "ppIStack_a4 = ppIVar7;" (assignment_expression "ppIStack_a4 = ppIVar7" identifier = identifier) ;) (expression_statement "pIStack_a0 = pIVar10;" (assignment_expression "pIStack_a0 = pIVar10" identifier = identifier) ;) (expression_statement "puStack_9c = in_a3;" (assignment_expression "puStack_9c = in_a3" identifier = identifier) ;) (expression_statement "pIStack_98 = pIVar20;" (assignment_expression "pIStack_98 = pIVar20" identifier = identifier) ;) (expression_statement "(**(code **)(puStack_b8 + -0x7718))(iVar3 + -0x1ecc,ppIVar8,pIVar11,0);" (call_expression "(**(code **)(puStack_b8 + -0x7718))(iVar3 + -0x1ecc,ppIVar8,pIVar11,0)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x7718))" ( (pointer_expression "**(code **)(puStack_b8 + -0x7718)" * (pointer_expression "*(code **)(puStack_b8 + -0x7718)" * (cast_expression "(code **)(puStack_b8 + -0x7718)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x7718)" ( (binary_expression "puStack_b8 + -0x7718" identifier + number_literal) ))))) )) (argument_list "(iVar3 + -0x1ecc,ppIVar8,pIVar11,0)" ( (binary_expression "iVar3 + -0x1ecc" identifier + number_literal) , identifier , identifier , number_literal ))) ;) (expression_statement "MVar4 = MStack_94;" (assignment_expression "MVar4 = MStack_94" identifier = identifier) ;) }))) (if_statement "if (pIStack_8c == (ImageView *)*piVar16) {\n    return MVar4;\n  }" if (parenthesized_expression "(pIStack_8c == (ImageView *)*piVar16)" ( (binary_expression "pIStack_8c == (ImageView *)*piVar16" identifier == (cast_expression "(ImageView *)*piVar16" ( (type_descriptor "ImageView *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar16" * identifier))) )) (compound_statement "{\n    return MVar4;\n  }" { (return_statement "return MVar4;" return identifier ;) })) (expression_statement "pcVar22 = *(code **)(puStack_b8 + -0x784c);" (assignment_expression "pcVar22 = *(code **)(puStack_b8 + -0x784c)" identifier = (pointer_expression "*(code **)(puStack_b8 + -0x784c)" * (cast_expression "(code **)(puStack_b8 + -0x784c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x784c)" ( (binary_expression "puStack_b8 + -0x784c" identifier + number_literal) ))))) ;) (expression_statement "pcVar23 = UpdateImageViewIterator;" (assignment_expression "pcVar23 = UpdateImageViewIterator" identifier = identifier) ;) (expression_statement "pIVar12 = pIStack_8c;" (assignment_expression "pIVar12 = pIStack_8c" identifier = identifier) ;) (expression_statement "(*pcVar22)();" (call_expression "(*pcVar22)()" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar17 = *(int **)(pcVar22 + 0x2a95f8);" (assignment_expression "piVar17 = *(int **)(pcVar22 + 0x2a95f8)" identifier = (pointer_expression "*(int **)(pcVar22 + 0x2a95f8)" * (cast_expression "(int **)(pcVar22 + 0x2a95f8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x2a95f8)" ( (binary_expression "pcVar22 + 0x2a95f8" identifier + number_literal) ))))) ;) (expression_statement "iStack_ec = *piVar17;" (assignment_expression "iStack_ec = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) (expression_statement "pIStack_e8 = pIVar5;" (assignment_expression "pIStack_e8 = pIVar5" identifier = identifier) ;) (expression_statement "piStack_e4 = piVar16;" (assignment_expression "piStack_e4 = piVar16" identifier = identifier) ;) (expression_statement "ppIStack_e0 = ppIVar7;" (assignment_expression "ppIStack_e0 = ppIVar7" identifier = identifier) ;) (expression_statement "pIStack_dc = pIVar10;" (assignment_expression "pIStack_dc = pIVar10" identifier = identifier) ;) (expression_statement "puStack_d8 = in_a3;" (assignment_expression "puStack_d8 = in_a3" identifier = identifier) ;) (expression_statement "pIStack_d4 = unaff_s5;" (assignment_expression "pIStack_d4 = unaff_s5" identifier = identifier) ;) (expression_statement "pIStack_d0 = pIVar20;" (assignment_expression "pIStack_d0 = pIVar20" identifier = identifier) ;) (expression_statement "pcStack_cc = pcVar23;" (assignment_expression "pcStack_cc = pcVar23" identifier = identifier) ;) (if_statement "if (pIVar12 != (ImageView *)0x0) {\n    if (pIVar12->signature == 0xabacadab) {\n      ppIVar7 = ppIVar8;\n      pIVar10 = pIVar11;\n      if (ppIVar8 == (ImageView **)0x0) {\nLAB_000ffcbc:\n        MVar4 = MagickFalse;\n      }\n      else {\n        pIVar20 = pIVar12->image;\n        ppIVar7 = (ImageView **)0x1;\n        pIVar10 = (Image *)pIVar12->exception;\n        iVar3 = (**(code **)(pcVar22 + 0x2a9bec))(pIVar20);\n        if (iVar3 == 0) goto LAB_000ffcbc;\n        sVar19 = (pIVar12->extent).height;\n        iVar15 = (pIVar12->extent).y;\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20);\n        if (((iVar3 == 4) || (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)) &&\n           ((iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 4 ||\n            (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)))) {\n          iVar15 = sVar19 - iVar15;\n          (**(code **)(pcVar22 + 0x2a9504))(7);\n          iVar3 = iVar15;\n          if (iVar15 < 0) {\n            iVar3 = iVar15 + 0x3f;\n          }\n          pIVar18 = (Image *)(iVar3 >> 6);\n          if (extraout_v1_09 < (int)pIVar18) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar15 < 0x80;\n          }\n          pIVar10 = (Image *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)pIVar18) {\n              (**(code **)(pcVar22 + 0x2a9504))(7);\n              pIVar18 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar3 = *(int *)(pcVar22 + 0x2a8e5c);\n        }\n        else {\n          uVar24 = (**(code **)(pcVar22 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n            if ((uint)uVar24 < 2) {\n              uVar24 = (*pcVar23)(7);\n              if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n              if ((uint)uVar24 < 2) {\n                pIVar18 = (Image *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n          }\n          uVar24 = (*pcVar23)(7);\n          if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            pIVar18 = extraout_v1_10;\n          }\n          else {\n            pIVar18 = (Image *)0x2;\n          }\nLAB_000ffd68:\n          iVar3 = *(int *)(pcVar22 + 0x2a8e5c);\n          pIVar10 = pIVar18;\n        }\n        MStack_f4 = MagickTrue;\n        puStack_f0 = &uStack_110;\n        ppIVar7 = &pIStack_104;\n        pIStack_104 = pIVar12;\n        ppIStack_100 = ppIVar8;\n        pIStack_fc = pIVar11;\n        pIStack_f8 = pIVar20;\n        (**(code **)(pcVar22 + 0x2a9560))(iVar3 + -0x1ca0,ppIVar7,pIVar10,0);\n        MVar4 = MStack_f4;\n      }\n      iVar3 = iStack_ec;\n      if (iStack_ec == *piVar17) {\n        return MVar4;\n      }\n      goto LAB_000fff14;\n    }\n    (**(code **)(pcVar22 + 0x2a99d0))\n              (*(int *)(pcVar22 + 0x2a8cb0) + 0x3930,*(int *)(pcVar22 + 0x2a8cac) + -0x5168,0x481,\n               *(int *)(pcVar22 + 0x2a8cac) + -0x5020);\n  }" if (parenthesized_expression "(pIVar12 != (ImageView *)0x0)" ( (binary_expression "pIVar12 != (ImageView *)0x0" identifier != (cast_expression "(ImageView *)0x0" ( (type_descriptor "ImageView *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (pIVar12->signature == 0xabacadab) {\n      ppIVar7 = ppIVar8;\n      pIVar10 = pIVar11;\n      if (ppIVar8 == (ImageView **)0x0) {\nLAB_000ffcbc:\n        MVar4 = MagickFalse;\n      }\n      else {\n        pIVar20 = pIVar12->image;\n        ppIVar7 = (ImageView **)0x1;\n        pIVar10 = (Image *)pIVar12->exception;\n        iVar3 = (**(code **)(pcVar22 + 0x2a9bec))(pIVar20);\n        if (iVar3 == 0) goto LAB_000ffcbc;\n        sVar19 = (pIVar12->extent).height;\n        iVar15 = (pIVar12->extent).y;\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20);\n        if (((iVar3 == 4) || (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)) &&\n           ((iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 4 ||\n            (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)))) {\n          iVar15 = sVar19 - iVar15;\n          (**(code **)(pcVar22 + 0x2a9504))(7);\n          iVar3 = iVar15;\n          if (iVar15 < 0) {\n            iVar3 = iVar15 + 0x3f;\n          }\n          pIVar18 = (Image *)(iVar3 >> 6);\n          if (extraout_v1_09 < (int)pIVar18) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar15 < 0x80;\n          }\n          pIVar10 = (Image *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)pIVar18) {\n              (**(code **)(pcVar22 + 0x2a9504))(7);\n              pIVar18 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar3 = *(int *)(pcVar22 + 0x2a8e5c);\n        }\n        else {\n          uVar24 = (**(code **)(pcVar22 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n            if ((uint)uVar24 < 2) {\n              uVar24 = (*pcVar23)(7);\n              if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n              if ((uint)uVar24 < 2) {\n                pIVar18 = (Image *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n          }\n          uVar24 = (*pcVar23)(7);\n          if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            pIVar18 = extraout_v1_10;\n          }\n          else {\n            pIVar18 = (Image *)0x2;\n          }\nLAB_000ffd68:\n          iVar3 = *(int *)(pcVar22 + 0x2a8e5c);\n          pIVar10 = pIVar18;\n        }\n        MStack_f4 = MagickTrue;\n        puStack_f0 = &uStack_110;\n        ppIVar7 = &pIStack_104;\n        pIStack_104 = pIVar12;\n        ppIStack_100 = ppIVar8;\n        pIStack_fc = pIVar11;\n        pIStack_f8 = pIVar20;\n        (**(code **)(pcVar22 + 0x2a9560))(iVar3 + -0x1ca0,ppIVar7,pIVar10,0);\n        MVar4 = MStack_f4;\n      }\n      iVar3 = iStack_ec;\n      if (iStack_ec == *piVar17) {\n        return MVar4;\n      }\n      goto LAB_000fff14;\n    }\n    (**(code **)(pcVar22 + 0x2a99d0))\n              (*(int *)(pcVar22 + 0x2a8cb0) + 0x3930,*(int *)(pcVar22 + 0x2a8cac) + -0x5168,0x481,\n               *(int *)(pcVar22 + 0x2a8cac) + -0x5020);\n  }" { (if_statement "if (pIVar12->signature == 0xabacadab) {\n      ppIVar7 = ppIVar8;\n      pIVar10 = pIVar11;\n      if (ppIVar8 == (ImageView **)0x0) {\nLAB_000ffcbc:\n        MVar4 = MagickFalse;\n      }\n      else {\n        pIVar20 = pIVar12->image;\n        ppIVar7 = (ImageView **)0x1;\n        pIVar10 = (Image *)pIVar12->exception;\n        iVar3 = (**(code **)(pcVar22 + 0x2a9bec))(pIVar20);\n        if (iVar3 == 0) goto LAB_000ffcbc;\n        sVar19 = (pIVar12->extent).height;\n        iVar15 = (pIVar12->extent).y;\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20);\n        if (((iVar3 == 4) || (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)) &&\n           ((iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 4 ||\n            (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)))) {\n          iVar15 = sVar19 - iVar15;\n          (**(code **)(pcVar22 + 0x2a9504))(7);\n          iVar3 = iVar15;\n          if (iVar15 < 0) {\n            iVar3 = iVar15 + 0x3f;\n          }\n          pIVar18 = (Image *)(iVar3 >> 6);\n          if (extraout_v1_09 < (int)pIVar18) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar15 < 0x80;\n          }\n          pIVar10 = (Image *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)pIVar18) {\n              (**(code **)(pcVar22 + 0x2a9504))(7);\n              pIVar18 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar3 = *(int *)(pcVar22 + 0x2a8e5c);\n        }\n        else {\n          uVar24 = (**(code **)(pcVar22 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n            if ((uint)uVar24 < 2) {\n              uVar24 = (*pcVar23)(7);\n              if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n              if ((uint)uVar24 < 2) {\n                pIVar18 = (Image *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n          }\n          uVar24 = (*pcVar23)(7);\n          if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            pIVar18 = extraout_v1_10;\n          }\n          else {\n            pIVar18 = (Image *)0x2;\n          }\nLAB_000ffd68:\n          iVar3 = *(int *)(pcVar22 + 0x2a8e5c);\n          pIVar10 = pIVar18;\n        }\n        MStack_f4 = MagickTrue;\n        puStack_f0 = &uStack_110;\n        ppIVar7 = &pIStack_104;\n        pIStack_104 = pIVar12;\n        ppIStack_100 = ppIVar8;\n        pIStack_fc = pIVar11;\n        pIStack_f8 = pIVar20;\n        (**(code **)(pcVar22 + 0x2a9560))(iVar3 + -0x1ca0,ppIVar7,pIVar10,0);\n        MVar4 = MStack_f4;\n      }\n      iVar3 = iStack_ec;\n      if (iStack_ec == *piVar17) {\n        return MVar4;\n      }\n      goto LAB_000fff14;\n    }" if (parenthesized_expression "(pIVar12->signature == 0xabacadab)" ( (binary_expression "pIVar12->signature == 0xabacadab" (field_expression "pIVar12->signature" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      ppIVar7 = ppIVar8;\n      pIVar10 = pIVar11;\n      if (ppIVar8 == (ImageView **)0x0) {\nLAB_000ffcbc:\n        MVar4 = MagickFalse;\n      }\n      else {\n        pIVar20 = pIVar12->image;\n        ppIVar7 = (ImageView **)0x1;\n        pIVar10 = (Image *)pIVar12->exception;\n        iVar3 = (**(code **)(pcVar22 + 0x2a9bec))(pIVar20);\n        if (iVar3 == 0) goto LAB_000ffcbc;\n        sVar19 = (pIVar12->extent).height;\n        iVar15 = (pIVar12->extent).y;\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20);\n        if (((iVar3 == 4) || (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)) &&\n           ((iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 4 ||\n            (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)))) {\n          iVar15 = sVar19 - iVar15;\n          (**(code **)(pcVar22 + 0x2a9504))(7);\n          iVar3 = iVar15;\n          if (iVar15 < 0) {\n            iVar3 = iVar15 + 0x3f;\n          }\n          pIVar18 = (Image *)(iVar3 >> 6);\n          if (extraout_v1_09 < (int)pIVar18) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar15 < 0x80;\n          }\n          pIVar10 = (Image *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)pIVar18) {\n              (**(code **)(pcVar22 + 0x2a9504))(7);\n              pIVar18 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar3 = *(int *)(pcVar22 + 0x2a8e5c);\n        }\n        else {\n          uVar24 = (**(code **)(pcVar22 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n            if ((uint)uVar24 < 2) {\n              uVar24 = (*pcVar23)(7);\n              if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n              if ((uint)uVar24 < 2) {\n                pIVar18 = (Image *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n          }\n          uVar24 = (*pcVar23)(7);\n          if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            pIVar18 = extraout_v1_10;\n          }\n          else {\n            pIVar18 = (Image *)0x2;\n          }\nLAB_000ffd68:\n          iVar3 = *(int *)(pcVar22 + 0x2a8e5c);\n          pIVar10 = pIVar18;\n        }\n        MStack_f4 = MagickTrue;\n        puStack_f0 = &uStack_110;\n        ppIVar7 = &pIStack_104;\n        pIStack_104 = pIVar12;\n        ppIStack_100 = ppIVar8;\n        pIStack_fc = pIVar11;\n        pIStack_f8 = pIVar20;\n        (**(code **)(pcVar22 + 0x2a9560))(iVar3 + -0x1ca0,ppIVar7,pIVar10,0);\n        MVar4 = MStack_f4;\n      }\n      iVar3 = iStack_ec;\n      if (iStack_ec == *piVar17) {\n        return MVar4;\n      }\n      goto LAB_000fff14;\n    }" { (expression_statement "ppIVar7 = ppIVar8;" (assignment_expression "ppIVar7 = ppIVar8" identifier = identifier) ;) (expression_statement "pIVar10 = pIVar11;" (assignment_expression "pIVar10 = pIVar11" identifier = identifier) ;) (if_statement "if (ppIVar8 == (ImageView **)0x0) {\nLAB_000ffcbc:\n        MVar4 = MagickFalse;\n      }\n      else {\n        pIVar20 = pIVar12->image;\n        ppIVar7 = (ImageView **)0x1;\n        pIVar10 = (Image *)pIVar12->exception;\n        iVar3 = (**(code **)(pcVar22 + 0x2a9bec))(pIVar20);\n        if (iVar3 == 0) goto LAB_000ffcbc;\n        sVar19 = (pIVar12->extent).height;\n        iVar15 = (pIVar12->extent).y;\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20);\n        if (((iVar3 == 4) || (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)) &&\n           ((iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 4 ||\n            (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)))) {\n          iVar15 = sVar19 - iVar15;\n          (**(code **)(pcVar22 + 0x2a9504))(7);\n          iVar3 = iVar15;\n          if (iVar15 < 0) {\n            iVar3 = iVar15 + 0x3f;\n          }\n          pIVar18 = (Image *)(iVar3 >> 6);\n          if (extraout_v1_09 < (int)pIVar18) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar15 < 0x80;\n          }\n          pIVar10 = (Image *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)pIVar18) {\n              (**(code **)(pcVar22 + 0x2a9504))(7);\n              pIVar18 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar3 = *(int *)(pcVar22 + 0x2a8e5c);\n        }\n        else {\n          uVar24 = (**(code **)(pcVar22 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n            if ((uint)uVar24 < 2) {\n              uVar24 = (*pcVar23)(7);\n              if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n              if ((uint)uVar24 < 2) {\n                pIVar18 = (Image *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n          }\n          uVar24 = (*pcVar23)(7);\n          if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            pIVar18 = extraout_v1_10;\n          }\n          else {\n            pIVar18 = (Image *)0x2;\n          }\nLAB_000ffd68:\n          iVar3 = *(int *)(pcVar22 + 0x2a8e5c);\n          pIVar10 = pIVar18;\n        }\n        MStack_f4 = MagickTrue;\n        puStack_f0 = &uStack_110;\n        ppIVar7 = &pIStack_104;\n        pIStack_104 = pIVar12;\n        ppIStack_100 = ppIVar8;\n        pIStack_fc = pIVar11;\n        pIStack_f8 = pIVar20;\n        (**(code **)(pcVar22 + 0x2a9560))(iVar3 + -0x1ca0,ppIVar7,pIVar10,0);\n        MVar4 = MStack_f4;\n      }" if (parenthesized_expression "(ppIVar8 == (ImageView **)0x0)" ( (binary_expression "ppIVar8 == (ImageView **)0x0" identifier == (cast_expression "(ImageView **)0x0" ( (type_descriptor "ImageView **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\nLAB_000ffcbc:\n        MVar4 = MagickFalse;\n      }" { (labeled_statement "LAB_000ffcbc:\n        MVar4 = MagickFalse;" statement_identifier : (expression_statement "MVar4 = MagickFalse;" (assignment_expression "MVar4 = MagickFalse" identifier = identifier) ;)) }) (else_clause "else {\n        pIVar20 = pIVar12->image;\n        ppIVar7 = (ImageView **)0x1;\n        pIVar10 = (Image *)pIVar12->exception;\n        iVar3 = (**(code **)(pcVar22 + 0x2a9bec))(pIVar20);\n        if (iVar3 == 0) goto LAB_000ffcbc;\n        sVar19 = (pIVar12->extent).height;\n        iVar15 = (pIVar12->extent).y;\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20);\n        if (((iVar3 == 4) || (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)) &&\n           ((iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 4 ||\n            (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)))) {\n          iVar15 = sVar19 - iVar15;\n          (**(code **)(pcVar22 + 0x2a9504))(7);\n          iVar3 = iVar15;\n          if (iVar15 < 0) {\n            iVar3 = iVar15 + 0x3f;\n          }\n          pIVar18 = (Image *)(iVar3 >> 6);\n          if (extraout_v1_09 < (int)pIVar18) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar15 < 0x80;\n          }\n          pIVar10 = (Image *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)pIVar18) {\n              (**(code **)(pcVar22 + 0x2a9504))(7);\n              pIVar18 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar3 = *(int *)(pcVar22 + 0x2a8e5c);\n        }\n        else {\n          uVar24 = (**(code **)(pcVar22 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n            if ((uint)uVar24 < 2) {\n              uVar24 = (*pcVar23)(7);\n              if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n              if ((uint)uVar24 < 2) {\n                pIVar18 = (Image *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n          }\n          uVar24 = (*pcVar23)(7);\n          if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            pIVar18 = extraout_v1_10;\n          }\n          else {\n            pIVar18 = (Image *)0x2;\n          }\nLAB_000ffd68:\n          iVar3 = *(int *)(pcVar22 + 0x2a8e5c);\n          pIVar10 = pIVar18;\n        }\n        MStack_f4 = MagickTrue;\n        puStack_f0 = &uStack_110;\n        ppIVar7 = &pIStack_104;\n        pIStack_104 = pIVar12;\n        ppIStack_100 = ppIVar8;\n        pIStack_fc = pIVar11;\n        pIStack_f8 = pIVar20;\n        (**(code **)(pcVar22 + 0x2a9560))(iVar3 + -0x1ca0,ppIVar7,pIVar10,0);\n        MVar4 = MStack_f4;\n      }" else (compound_statement "{\n        pIVar20 = pIVar12->image;\n        ppIVar7 = (ImageView **)0x1;\n        pIVar10 = (Image *)pIVar12->exception;\n        iVar3 = (**(code **)(pcVar22 + 0x2a9bec))(pIVar20);\n        if (iVar3 == 0) goto LAB_000ffcbc;\n        sVar19 = (pIVar12->extent).height;\n        iVar15 = (pIVar12->extent).y;\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20);\n        if (((iVar3 == 4) || (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)) &&\n           ((iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 4 ||\n            (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)))) {\n          iVar15 = sVar19 - iVar15;\n          (**(code **)(pcVar22 + 0x2a9504))(7);\n          iVar3 = iVar15;\n          if (iVar15 < 0) {\n            iVar3 = iVar15 + 0x3f;\n          }\n          pIVar18 = (Image *)(iVar3 >> 6);\n          if (extraout_v1_09 < (int)pIVar18) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar15 < 0x80;\n          }\n          pIVar10 = (Image *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)pIVar18) {\n              (**(code **)(pcVar22 + 0x2a9504))(7);\n              pIVar18 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar3 = *(int *)(pcVar22 + 0x2a8e5c);\n        }\n        else {\n          uVar24 = (**(code **)(pcVar22 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n            if ((uint)uVar24 < 2) {\n              uVar24 = (*pcVar23)(7);\n              if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n              if ((uint)uVar24 < 2) {\n                pIVar18 = (Image *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n          }\n          uVar24 = (*pcVar23)(7);\n          if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            pIVar18 = extraout_v1_10;\n          }\n          else {\n            pIVar18 = (Image *)0x2;\n          }\nLAB_000ffd68:\n          iVar3 = *(int *)(pcVar22 + 0x2a8e5c);\n          pIVar10 = pIVar18;\n        }\n        MStack_f4 = MagickTrue;\n        puStack_f0 = &uStack_110;\n        ppIVar7 = &pIStack_104;\n        pIStack_104 = pIVar12;\n        ppIStack_100 = ppIVar8;\n        pIStack_fc = pIVar11;\n        pIStack_f8 = pIVar20;\n        (**(code **)(pcVar22 + 0x2a9560))(iVar3 + -0x1ca0,ppIVar7,pIVar10,0);\n        MVar4 = MStack_f4;\n      }" { (expression_statement "pIVar20 = pIVar12->image;" (assignment_expression "pIVar20 = pIVar12->image" identifier = (field_expression "pIVar12->image" identifier -> field_identifier)) ;) (expression_statement "ppIVar7 = (ImageView **)0x1;" (assignment_expression "ppIVar7 = (ImageView **)0x1" identifier = (cast_expression "(ImageView **)0x1" ( (type_descriptor "ImageView **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pIVar10 = (Image *)pIVar12->exception;" (assignment_expression "pIVar10 = (Image *)pIVar12->exception" identifier = (cast_expression "(Image *)pIVar12->exception" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pIVar12->exception" identifier -> field_identifier))) ;) (expression_statement "iVar3 = (**(code **)(pcVar22 + 0x2a9bec))(pIVar20);" (assignment_expression "iVar3 = (**(code **)(pcVar22 + 0x2a9bec))(pIVar20)" identifier = (call_expression "(**(code **)(pcVar22 + 0x2a9bec))(pIVar20)" (parenthesized_expression "(**(code **)(pcVar22 + 0x2a9bec))" ( (pointer_expression "**(code **)(pcVar22 + 0x2a9bec)" * (pointer_expression "*(code **)(pcVar22 + 0x2a9bec)" * (cast_expression "(code **)(pcVar22 + 0x2a9bec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x2a9bec)" ( (binary_expression "pcVar22 + 0x2a9bec" identifier + number_literal) ))))) )) (argument_list "(pIVar20)" ( identifier )))) ;) (if_statement "if (iVar3 == 0) goto LAB_000ffcbc;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000ffcbc;" goto statement_identifier ;)) (expression_statement "sVar19 = (pIVar12->extent).height;" (assignment_expression "sVar19 = (pIVar12->extent).height" identifier = (field_expression "(pIVar12->extent).height" (parenthesized_expression "(pIVar12->extent)" ( (field_expression "pIVar12->extent" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "iVar15 = (pIVar12->extent).y;" (assignment_expression "iVar15 = (pIVar12->extent).y" identifier = (field_expression "(pIVar12->extent).y" (parenthesized_expression "(pIVar12->extent)" ( (field_expression "pIVar12->extent" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uStack_10c = 0;" (assignment_expression "uStack_10c = 0" identifier = number_literal) ;) (expression_statement "uStack_110 = 0;" (assignment_expression "uStack_110 = 0" identifier = number_literal) ;) (expression_statement "iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20);" (assignment_expression "iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20)" identifier = (call_expression "(**(code **)(pcVar22 + 0x2a987c))(pIVar20)" (parenthesized_expression "(**(code **)(pcVar22 + 0x2a987c))" ( (pointer_expression "**(code **)(pcVar22 + 0x2a987c)" * (pointer_expression "*(code **)(pcVar22 + 0x2a987c)" * (cast_expression "(code **)(pcVar22 + 0x2a987c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x2a987c)" ( (binary_expression "pcVar22 + 0x2a987c" identifier + number_literal) ))))) )) (argument_list "(pIVar20)" ( identifier )))) ;) (if_statement "if (((iVar3 == 4) || (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)) &&\n           ((iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 4 ||\n            (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)))) {\n          iVar15 = sVar19 - iVar15;\n          (**(code **)(pcVar22 + 0x2a9504))(7);\n          iVar3 = iVar15;\n          if (iVar15 < 0) {\n            iVar3 = iVar15 + 0x3f;\n          }\n          pIVar18 = (Image *)(iVar3 >> 6);\n          if (extraout_v1_09 < (int)pIVar18) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar15 < 0x80;\n          }\n          pIVar10 = (Image *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)pIVar18) {\n              (**(code **)(pcVar22 + 0x2a9504))(7);\n              pIVar18 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar3 = *(int *)(pcVar22 + 0x2a8e5c);\n        }\n        else {\n          uVar24 = (**(code **)(pcVar22 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n            if ((uint)uVar24 < 2) {\n              uVar24 = (*pcVar23)(7);\n              if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n              if ((uint)uVar24 < 2) {\n                pIVar18 = (Image *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n          }\n          uVar24 = (*pcVar23)(7);\n          if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            pIVar18 = extraout_v1_10;\n          }\n          else {\n            pIVar18 = (Image *)0x2;\n          }\nLAB_000ffd68:\n          iVar3 = *(int *)(pcVar22 + 0x2a8e5c);\n          pIVar10 = pIVar18;\n        }" if (parenthesized_expression "(((iVar3 == 4) || (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)) &&\n           ((iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 4 ||\n            (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3))))" ( (binary_expression "((iVar3 == 4) || (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)) &&\n           ((iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 4 ||\n            (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)))" (parenthesized_expression "((iVar3 == 4) || (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3))" ( (binary_expression "(iVar3 == 4) || (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)" (parenthesized_expression "(iVar3 == 4)" ( (binary_expression "iVar3 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)" ( (comma_expression "iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3" (assignment_expression "iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20)" identifier = (call_expression "(**(code **)(pcVar22 + 0x2a987c))(pIVar20)" (parenthesized_expression "(**(code **)(pcVar22 + 0x2a987c))" ( (pointer_expression "**(code **)(pcVar22 + 0x2a987c)" * (pointer_expression "*(code **)(pcVar22 + 0x2a987c)" * (cast_expression "(code **)(pcVar22 + 0x2a987c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x2a987c)" ( (binary_expression "pcVar22 + 0x2a987c" identifier + number_literal) ))))) )) (argument_list "(pIVar20)" ( identifier )))) , (binary_expression "iVar3 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 4 ||\n            (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)))" ( (parenthesized_expression "(iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 4 ||\n            (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3))" ( (comma_expression "iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 4 ||\n            (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)" (assignment_expression "iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20)" identifier = (call_expression "(**(code **)(pcVar22 + 0x2a987c))(pIVar20)" (parenthesized_expression "(**(code **)(pcVar22 + 0x2a987c))" ( (pointer_expression "**(code **)(pcVar22 + 0x2a987c)" * (pointer_expression "*(code **)(pcVar22 + 0x2a987c)" * (cast_expression "(code **)(pcVar22 + 0x2a987c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x2a987c)" ( (binary_expression "pcVar22 + 0x2a987c" identifier + number_literal) ))))) )) (argument_list "(pIVar20)" ( identifier )))) , (binary_expression "iVar3 == 4 ||\n            (iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)" (binary_expression "iVar3 == 4" identifier == number_literal) || (parenthesized_expression "(iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3)" ( (comma_expression "iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20), iVar3 == 3" (assignment_expression "iVar3 = (**(code **)(pcVar22 + 0x2a987c))(pIVar20)" identifier = (call_expression "(**(code **)(pcVar22 + 0x2a987c))(pIVar20)" (parenthesized_expression "(**(code **)(pcVar22 + 0x2a987c))" ( (pointer_expression "**(code **)(pcVar22 + 0x2a987c)" * (pointer_expression "*(code **)(pcVar22 + 0x2a987c)" * (cast_expression "(code **)(pcVar22 + 0x2a987c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x2a987c)" ( (binary_expression "pcVar22 + 0x2a987c" identifier + number_literal) ))))) )) (argument_list "(pIVar20)" ( identifier )))) , (binary_expression "iVar3 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n          iVar15 = sVar19 - iVar15;\n          (**(code **)(pcVar22 + 0x2a9504))(7);\n          iVar3 = iVar15;\n          if (iVar15 < 0) {\n            iVar3 = iVar15 + 0x3f;\n          }\n          pIVar18 = (Image *)(iVar3 >> 6);\n          if (extraout_v1_09 < (int)pIVar18) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar15 < 0x80;\n          }\n          pIVar10 = (Image *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)pIVar18) {\n              (**(code **)(pcVar22 + 0x2a9504))(7);\n              pIVar18 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar3 = *(int *)(pcVar22 + 0x2a8e5c);\n        }" { (expression_statement "iVar15 = sVar19 - iVar15;" (assignment_expression "iVar15 = sVar19 - iVar15" identifier = (binary_expression "sVar19 - iVar15" identifier - identifier)) ;) (expression_statement "(**(code **)(pcVar22 + 0x2a9504))(7);" (call_expression "(**(code **)(pcVar22 + 0x2a9504))(7)" (parenthesized_expression "(**(code **)(pcVar22 + 0x2a9504))" ( (pointer_expression "**(code **)(pcVar22 + 0x2a9504)" * (pointer_expression "*(code **)(pcVar22 + 0x2a9504)" * (cast_expression "(code **)(pcVar22 + 0x2a9504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x2a9504)" ( (binary_expression "pcVar22 + 0x2a9504" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar3 = iVar15;" (assignment_expression "iVar3 = iVar15" identifier = identifier) ;) (if_statement "if (iVar15 < 0) {\n            iVar3 = iVar15 + 0x3f;\n          }" if (parenthesized_expression "(iVar15 < 0)" ( (binary_expression "iVar15 < 0" identifier < number_literal) )) (compound_statement "{\n            iVar3 = iVar15 + 0x3f;\n          }" { (expression_statement "iVar3 = iVar15 + 0x3f;" (assignment_expression "iVar3 = iVar15 + 0x3f" identifier = (binary_expression "iVar15 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "pIVar18 = (Image *)(iVar3 >> 6);" (assignment_expression "pIVar18 = (Image *)(iVar3 >> 6)" identifier = (cast_expression "(Image *)(iVar3 >> 6)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 >> 6)" ( (binary_expression "iVar3 >> 6" identifier >> number_literal) )))) ;) (if_statement "if (extraout_v1_09 < (int)pIVar18) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar15 < 0x80;\n          }" if (parenthesized_expression "(extraout_v1_09 < (int)pIVar18)" ( (binary_expression "extraout_v1_09 < (int)pIVar18" identifier < (cast_expression "(int)pIVar18" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }" { (expression_statement "(**(code **)(pcVar22 + 0x2a9504))(7);" (call_expression "(**(code **)(pcVar22 + 0x2a9504))(7)" (parenthesized_expression "(**(code **)(pcVar22 + 0x2a9504))" ( (pointer_expression "**(code **)(pcVar22 + 0x2a9504)" * (pointer_expression "*(code **)(pcVar22 + 0x2a9504)" * (cast_expression "(code **)(pcVar22 + 0x2a9504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x2a9504)" ( (binary_expression "pcVar22 + 0x2a9504" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_12 < 2;" (assignment_expression "bVar1 = extraout_v1_12 < 2" identifier = (binary_expression "extraout_v1_12 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n            bVar1 = iVar15 < 0x80;\n          }" else (compound_statement "{\n            bVar1 = iVar15 < 0x80;\n          }" { (expression_statement "bVar1 = iVar15 < 0x80;" (assignment_expression "bVar1 = iVar15 < 0x80" identifier = (binary_expression "iVar15 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "pIVar10 = (Image *)0x1;" (assignment_expression "pIVar10 = (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 **)(pcVar22 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)pIVar18) {\n              (**(code **)(pcVar22 + 0x2a9504))(7);\n              pIVar18 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\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 **)(pcVar22 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)pIVar18) {\n              (**(code **)(pcVar22 + 0x2a9504))(7);\n              pIVar18 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }" { (expression_statement "(**(code **)(pcVar22 + 0x2a9504))(7);" (call_expression "(**(code **)(pcVar22 + 0x2a9504))(7)" (parenthesized_expression "(**(code **)(pcVar22 + 0x2a9504))" ( (pointer_expression "**(code **)(pcVar22 + 0x2a9504)" * (pointer_expression "*(code **)(pcVar22 + 0x2a9504)" * (cast_expression "(code **)(pcVar22 + 0x2a9504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x2a9504)" ( (binary_expression "pcVar22 + 0x2a9504" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (if_statement "if (extraout_v1_11 < (int)pIVar18) {\n              (**(code **)(pcVar22 + 0x2a9504))(7);\n              pIVar18 = extraout_v1_13;\n            }" if (parenthesized_expression "(extraout_v1_11 < (int)pIVar18)" ( (binary_expression "extraout_v1_11 < (int)pIVar18" identifier < (cast_expression "(int)pIVar18" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              (**(code **)(pcVar22 + 0x2a9504))(7);\n              pIVar18 = extraout_v1_13;\n            }" { (expression_statement "(**(code **)(pcVar22 + 0x2a9504))(7);" (call_expression "(**(code **)(pcVar22 + 0x2a9504))(7)" (parenthesized_expression "(**(code **)(pcVar22 + 0x2a9504))" ( (pointer_expression "**(code **)(pcVar22 + 0x2a9504)" * (pointer_expression "*(code **)(pcVar22 + 0x2a9504)" * (cast_expression "(code **)(pcVar22 + 0x2a9504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x2a9504)" ( (binary_expression "pcVar22 + 0x2a9504" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "pIVar18 = extraout_v1_13;" (assignment_expression "pIVar18 = extraout_v1_13" identifier = identifier) ;) })) (goto_statement "goto LAB_000ffd68;" goto statement_identifier ;) })) (expression_statement "iVar3 = *(int *)(pcVar22 + 0x2a8e5c);" (assignment_expression "iVar3 = *(int *)(pcVar22 + 0x2a8e5c)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x2a8e5c)" * (cast_expression "(int *)(pcVar22 + 0x2a8e5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x2a8e5c)" ( (binary_expression "pcVar22 + 0x2a8e5c" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          uVar24 = (**(code **)(pcVar22 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n            if ((uint)uVar24 < 2) {\n              uVar24 = (*pcVar23)(7);\n              if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n              if ((uint)uVar24 < 2) {\n                pIVar18 = (Image *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n          }\n          uVar24 = (*pcVar23)(7);\n          if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            pIVar18 = extraout_v1_10;\n          }\n          else {\n            pIVar18 = (Image *)0x2;\n          }\nLAB_000ffd68:\n          iVar3 = *(int *)(pcVar22 + 0x2a8e5c);\n          pIVar10 = pIVar18;\n        }" else (compound_statement "{\n          uVar24 = (**(code **)(pcVar22 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n            if ((uint)uVar24 < 2) {\n              uVar24 = (*pcVar23)(7);\n              if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n              if ((uint)uVar24 < 2) {\n                pIVar18 = (Image *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n          }\n          uVar24 = (*pcVar23)(7);\n          if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            pIVar18 = extraout_v1_10;\n          }\n          else {\n            pIVar18 = (Image *)0x2;\n          }\nLAB_000ffd68:\n          iVar3 = *(int *)(pcVar22 + 0x2a8e5c);\n          pIVar10 = pIVar18;\n        }" { (expression_statement "uVar24 = (**(code **)(pcVar22 + 0x2a9504))(7);" (assignment_expression "uVar24 = (**(code **)(pcVar22 + 0x2a9504))(7)" identifier = (call_expression "(**(code **)(pcVar22 + 0x2a9504))(7)" (parenthesized_expression "(**(code **)(pcVar22 + 0x2a9504))" ( (pointer_expression "**(code **)(pcVar22 + 0x2a9504)" * (pointer_expression "*(code **)(pcVar22 + 0x2a9504)" * (cast_expression "(code **)(pcVar22 + 0x2a9504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x2a9504)" ( (binary_expression "pcVar22 + 0x2a9504" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n            if ((uint)uVar24 < 2) {\n              uVar24 = (*pcVar23)(7);\n              if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n              if ((uint)uVar24 < 2) {\n                pIVar18 = (Image *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n          }" if (parenthesized_expression "((int)((ulonglong)uVar24 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar24 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar24 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar24 >> 0x20)" ( (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n            if ((uint)uVar24 < 2) {\n              uVar24 = (*pcVar23)(7);\n              if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n              if ((uint)uVar24 < 2) {\n                pIVar18 = (Image *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }" { (expression_statement "pcVar23 = *(code **)(pcVar22 + 0x2a9504);" (assignment_expression "pcVar23 = *(code **)(pcVar22 + 0x2a9504)" identifier = (pointer_expression "*(code **)(pcVar22 + 0x2a9504)" * (cast_expression "(code **)(pcVar22 + 0x2a9504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x2a9504)" ( (binary_expression "pcVar22 + 0x2a9504" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar24 < 2) {\n              uVar24 = (*pcVar23)(7);\n              if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n              if ((uint)uVar24 < 2) {\n                pIVar18 = (Image *)0x1;\n                goto LAB_000ffd68;\n              }\n            }" if (parenthesized_expression "((uint)uVar24 < 2)" ( (binary_expression "(uint)uVar24 < 2" (cast_expression "(uint)uVar24" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n              uVar24 = (*pcVar23)(7);\n              if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n              if ((uint)uVar24 < 2) {\n                pIVar18 = (Image *)0x1;\n                goto LAB_000ffd68;\n              }\n            }" { (expression_statement "uVar24 = (*pcVar23)(7);" (assignment_expression "uVar24 = (*pcVar23)(7)" identifier = (call_expression "(*pcVar23)(7)" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_000ffd50;" if (parenthesized_expression "((int)((ulonglong)uVar24 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar24 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar24 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar24 >> 0x20)" ( (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_000ffd50;" goto statement_identifier ;)) (expression_statement "pcVar23 = *(code **)(pcVar22 + 0x2a9504);" (assignment_expression "pcVar23 = *(code **)(pcVar22 + 0x2a9504)" identifier = (pointer_expression "*(code **)(pcVar22 + 0x2a9504)" * (cast_expression "(code **)(pcVar22 + 0x2a9504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x2a9504)" ( (binary_expression "pcVar22 + 0x2a9504" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar24 < 2) {\n                pIVar18 = (Image *)0x1;\n                goto LAB_000ffd68;\n              }" if (parenthesized_expression "((uint)uVar24 < 2)" ( (binary_expression "(uint)uVar24 < 2" (cast_expression "(uint)uVar24" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n                pIVar18 = (Image *)0x1;\n                goto LAB_000ffd68;\n              }" { (expression_statement "pIVar18 = (Image *)0x1;" (assignment_expression "pIVar18 = (Image *)0x1" identifier = (cast_expression "(Image *)0x1" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000ffd68;" goto statement_identifier ;) })) })) }) (else_clause "else {\nLAB_000ffd50:\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n          }" else (compound_statement "{\nLAB_000ffd50:\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);\n          }" { (labeled_statement "LAB_000ffd50:\n            pcVar23 = *(code **)(pcVar22 + 0x2a9504);" statement_identifier : (expression_statement "pcVar23 = *(code **)(pcVar22 + 0x2a9504);" (assignment_expression "pcVar23 = *(code **)(pcVar22 + 0x2a9504)" identifier = (pointer_expression "*(code **)(pcVar22 + 0x2a9504)" * (cast_expression "(code **)(pcVar22 + 0x2a9504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x2a9504)" ( (binary_expression "pcVar22 + 0x2a9504" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar24 = (*pcVar23)(7);" (assignment_expression "uVar24 = (*pcVar23)(7)" identifier = (call_expression "(*pcVar23)(7)" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)) {\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            pIVar18 = extraout_v1_10;\n          }\n          else {\n            pIVar18 = (Image *)0x2;\n          }" if (parenthesized_expression "(((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2))" ( (binary_expression "((int)((ulonglong)uVar24 >> 0x20) == 0) && ((uint)uVar24 < 2)" (parenthesized_expression "((int)((ulonglong)uVar24 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar24 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar24 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar24 >> 0x20)" ( (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar24 < 2)" ( (binary_expression "(uint)uVar24 < 2" (cast_expression "(uint)uVar24" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n            (**(code **)(pcVar22 + 0x2a9504))(7);\n            pIVar18 = extraout_v1_10;\n          }" { (expression_statement "(**(code **)(pcVar22 + 0x2a9504))(7);" (call_expression "(**(code **)(pcVar22 + 0x2a9504))(7)" (parenthesized_expression "(**(code **)(pcVar22 + 0x2a9504))" ( (pointer_expression "**(code **)(pcVar22 + 0x2a9504)" * (pointer_expression "*(code **)(pcVar22 + 0x2a9504)" * (cast_expression "(code **)(pcVar22 + 0x2a9504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x2a9504)" ( (binary_expression "pcVar22 + 0x2a9504" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "pIVar18 = extraout_v1_10;" (assignment_expression "pIVar18 = extraout_v1_10" identifier = identifier) ;) }) (else_clause "else {\n            pIVar18 = (Image *)0x2;\n          }" else (compound_statement "{\n            pIVar18 = (Image *)0x2;\n          }" { (expression_statement "pIVar18 = (Image *)0x2;" (assignment_expression "pIVar18 = (Image *)0x2" identifier = (cast_expression "(Image *)0x2" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (labeled_statement "LAB_000ffd68:\n          iVar3 = *(int *)(pcVar22 + 0x2a8e5c);" statement_identifier : (expression_statement "iVar3 = *(int *)(pcVar22 + 0x2a8e5c);" (assignment_expression "iVar3 = *(int *)(pcVar22 + 0x2a8e5c)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x2a8e5c)" * (cast_expression "(int *)(pcVar22 + 0x2a8e5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x2a8e5c)" ( (binary_expression "pcVar22 + 0x2a8e5c" identifier + number_literal) ))))) ;)) (expression_statement "pIVar10 = pIVar18;" (assignment_expression "pIVar10 = pIVar18" identifier = identifier) ;) }))) (expression_statement "MStack_f4 = MagickTrue;" (assignment_expression "MStack_f4 = MagickTrue" identifier = identifier) ;) (expression_statement "puStack_f0 = &uStack_110;" (assignment_expression "puStack_f0 = &uStack_110" identifier = (pointer_expression "&uStack_110" & identifier)) ;) (expression_statement "ppIVar7 = &pIStack_104;" (assignment_expression "ppIVar7 = &pIStack_104" identifier = (pointer_expression "&pIStack_104" & identifier)) ;) (expression_statement "pIStack_104 = pIVar12;" (assignment_expression "pIStack_104 = pIVar12" identifier = identifier) ;) (expression_statement "ppIStack_100 = ppIVar8;" (assignment_expression "ppIStack_100 = ppIVar8" identifier = identifier) ;) (expression_statement "pIStack_fc = pIVar11;" (assignment_expression "pIStack_fc = pIVar11" identifier = identifier) ;) (expression_statement "pIStack_f8 = pIVar20;" (assignment_expression "pIStack_f8 = pIVar20" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar22 + 0x2a9560))(iVar3 + -0x1ca0,ppIVar7,pIVar10,0);" (call_expression "(**(code **)(pcVar22 + 0x2a9560))(iVar3 + -0x1ca0,ppIVar7,pIVar10,0)" (parenthesized_expression "(**(code **)(pcVar22 + 0x2a9560))" ( (pointer_expression "**(code **)(pcVar22 + 0x2a9560)" * (pointer_expression "*(code **)(pcVar22 + 0x2a9560)" * (cast_expression "(code **)(pcVar22 + 0x2a9560)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x2a9560)" ( (binary_expression "pcVar22 + 0x2a9560" identifier + number_literal) ))))) )) (argument_list "(iVar3 + -0x1ca0,ppIVar7,pIVar10,0)" ( (binary_expression "iVar3 + -0x1ca0" identifier + number_literal) , identifier , identifier , number_literal ))) ;) (expression_statement "MVar4 = MStack_f4;" (assignment_expression "MVar4 = MStack_f4" identifier = identifier) ;) }))) (expression_statement "iVar3 = iStack_ec;" (assignment_expression "iVar3 = iStack_ec" identifier = identifier) ;) (if_statement "if (iStack_ec == *piVar17) {\n        return MVar4;\n      }" if (parenthesized_expression "(iStack_ec == *piVar17)" ( (binary_expression "iStack_ec == *piVar17" identifier == (pointer_expression "*piVar17" * identifier)) )) (compound_statement "{\n        return MVar4;\n      }" { (return_statement "return MVar4;" return identifier ;) })) (goto_statement "goto LAB_000fff14;" goto statement_identifier ;) })) (expression_statement "(**(code **)(pcVar22 + 0x2a99d0))\n              (*(int *)(pcVar22 + 0x2a8cb0) + 0x3930,*(int *)(pcVar22 + 0x2a8cac) + -0x5168,0x481,\n               *(int *)(pcVar22 + 0x2a8cac) + -0x5020);" (call_expression "(**(code **)(pcVar22 + 0x2a99d0))\n              (*(int *)(pcVar22 + 0x2a8cb0) + 0x3930,*(int *)(pcVar22 + 0x2a8cac) + -0x5168,0x481,\n               *(int *)(pcVar22 + 0x2a8cac) + -0x5020)" (parenthesized_expression "(**(code **)(pcVar22 + 0x2a99d0))" ( (pointer_expression "**(code **)(pcVar22 + 0x2a99d0)" * (pointer_expression "*(code **)(pcVar22 + 0x2a99d0)" * (cast_expression "(code **)(pcVar22 + 0x2a99d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x2a99d0)" ( (binary_expression "pcVar22 + 0x2a99d0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar22 + 0x2a8cb0) + 0x3930,*(int *)(pcVar22 + 0x2a8cac) + -0x5168,0x481,\n               *(int *)(pcVar22 + 0x2a8cac) + -0x5020)" ( (binary_expression "*(int *)(pcVar22 + 0x2a8cb0) + 0x3930" (pointer_expression "*(int *)(pcVar22 + 0x2a8cb0)" * (cast_expression "(int *)(pcVar22 + 0x2a8cb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x2a8cb0)" ( (binary_expression "pcVar22 + 0x2a8cb0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar22 + 0x2a8cac) + -0x5168" (pointer_expression "*(int *)(pcVar22 + 0x2a8cac)" * (cast_expression "(int *)(pcVar22 + 0x2a8cac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x2a8cac)" ( (binary_expression "pcVar22 + 0x2a8cac" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar22 + 0x2a8cac) + -0x5020" (pointer_expression "*(int *)(pcVar22 + 0x2a8cac)" * (cast_expression "(int *)(pcVar22 + 0x2a8cac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x2a8cac)" ( (binary_expression "pcVar22 + 0x2a8cac" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "pIVar10 = (Image *)0x480;" (assignment_expression "pIVar10 = (Image *)0x480" identifier = (cast_expression "(Image *)0x480" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppIVar7 = (ImageView **)(*(int *)(pcVar22 + 0x2a8cac) + -0x5168);" (assignment_expression "ppIVar7 = (ImageView **)(*(int *)(pcVar22 + 0x2a8cac) + -0x5168)" identifier = (cast_expression "(ImageView **)(*(int *)(pcVar22 + 0x2a8cac) + -0x5168)" ( (type_descriptor "ImageView **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x2a8cac) + -0x5168)" ( (binary_expression "*(int *)(pcVar22 + 0x2a8cac) + -0x5168" (pointer_expression "*(int *)(pcVar22 + 0x2a8cac)" * (cast_expression "(int *)(pcVar22 + 0x2a8cac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x2a8cac)" ( (binary_expression "pcVar22 + 0x2a8cac" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar3 = *(int *)(pcVar22 + 0x2a8cac) + -0x50fc;" (assignment_expression "iVar3 = *(int *)(pcVar22 + 0x2a8cac) + -0x50fc" identifier = (binary_expression "*(int *)(pcVar22 + 0x2a8cac) + -0x50fc" (pointer_expression "*(int *)(pcVar22 + 0x2a8cac)" * (cast_expression "(int *)(pcVar22 + 0x2a8cac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x2a8cac)" ( (binary_expression "pcVar22 + 0x2a8cac" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar22 + 0x2a99d0))();" (call_expression "(**(code **)(pcVar22 + 0x2a99d0))()" (parenthesized_expression "(**(code **)(pcVar22 + 0x2a99d0))" ( (pointer_expression "**(code **)(pcVar22 + 0x2a99d0)" * (pointer_expression "*(code **)(pcVar22 + 0x2a99d0)" * (cast_expression "(code **)(pcVar22 + 0x2a99d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x2a99d0)" ( (binary_expression "pcVar22 + 0x2a99d0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_000fff14:\n  pcVar22 = *(code **)(pcVar22 + 0x2a942c);" statement_identifier : (expression_statement "pcVar22 = *(code **)(pcVar22 + 0x2a942c);" (assignment_expression "pcVar22 = *(code **)(pcVar22 + 0x2a942c)" identifier = (pointer_expression "*(code **)(pcVar22 + 0x2a942c)" * (cast_expression "(code **)(pcVar22 + 0x2a942c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x2a942c)" ( (binary_expression "pcVar22 + 0x2a942c" identifier + number_literal) ))))) ;)) (expression_statement "(*pcVar22)();" (call_expression "(*pcVar22)()" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (*(int *)(iVar3 + 700) == 0) {\n    (**(code **)(pcVar22 + 0x2a8df4))();\n  }" if (parenthesized_expression "(*(int *)(iVar3 + 700) == 0)" ( (binary_expression "*(int *)(iVar3 + 700) == 0" (pointer_expression "*(int *)(iVar3 + 700)" * (cast_expression "(int *)(iVar3 + 700)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 700)" ( (binary_expression "iVar3 + 700" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    (**(code **)(pcVar22 + 0x2a8df4))();\n  }" { (expression_statement "(**(code **)(pcVar22 + 0x2a8df4))();" (call_expression "(**(code **)(pcVar22 + 0x2a8df4))()" (parenthesized_expression "(**(code **)(pcVar22 + 0x2a8df4))" ( (pointer_expression "**(code **)(pcVar22 + 0x2a8df4)" * (pointer_expression "*(code **)(pcVar22 + 0x2a8df4)" * (cast_expression "(code **)(pcVar22 + 0x2a8df4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x2a8df4)" ( (binary_expression "pcVar22 + 0x2a8df4" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "pIVar5 = ppIVar7[1];" (assignment_expression "pIVar5 = ppIVar7[1]" identifier = (subscript_expression "ppIVar7[1]" identifier [ number_literal ])) ;) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (if_statement "if (0 < (int)pIVar5) {\n    do {\n      iVar6 = (**(code **)(pcVar22 + 0x2a8e18))\n                        (iVar3,ppIVar7[2],(int)&ppIVar7[3]->description + iVar15,*ppIVar7,1,pIVar10)\n      ;\n      if (iVar6 == 0) {\n        return MagickFalse;\n      }\n      pIVar12 = *ppIVar7;\n      pIVar5 = (ImageView *)0x0;\n      if (0 < (int)pIVar12) {\n        iVar14 = *(int *)(iVar3 + 0x2d0);\n        iVar9 = *(int *)(iVar3 + 0x2c0);\n        iVar13 = *(int *)(iVar14 + 0x34);\n        do {\n          pIVar5 = (ImageView *)((int)&pIVar5->description + 1);\n          if (iVar13 != 0) {\n            *(undefined4 *)(iVar6 + *(int *)(iVar14 + 0x38) * 4) = 0;\n          }\n          iVar6 = iVar6 + iVar9 * 4;\n        } while (pIVar5 != pIVar12);\n      }\n      iVar6 = (**(code **)(pcVar22 + 0x2a92c4))(iVar3,pIVar10);\n      if (iVar6 == 0) {\n        return MagickFalse;\n      }\n      iVar15 = iVar15 + 1;\n      pIVar5 = (ImageView *)(uint)(iVar15 < (int)ppIVar7[1]);\n    } while (pIVar5 != (ImageView *)0x0);\n  }" if (parenthesized_expression "(0 < (int)pIVar5)" ( (binary_expression "0 < (int)pIVar5" number_literal < (cast_expression "(int)pIVar5" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    do {\n      iVar6 = (**(code **)(pcVar22 + 0x2a8e18))\n                        (iVar3,ppIVar7[2],(int)&ppIVar7[3]->description + iVar15,*ppIVar7,1,pIVar10)\n      ;\n      if (iVar6 == 0) {\n        return MagickFalse;\n      }\n      pIVar12 = *ppIVar7;\n      pIVar5 = (ImageView *)0x0;\n      if (0 < (int)pIVar12) {\n        iVar14 = *(int *)(iVar3 + 0x2d0);\n        iVar9 = *(int *)(iVar3 + 0x2c0);\n        iVar13 = *(int *)(iVar14 + 0x34);\n        do {\n          pIVar5 = (ImageView *)((int)&pIVar5->description + 1);\n          if (iVar13 != 0) {\n            *(undefined4 *)(iVar6 + *(int *)(iVar14 + 0x38) * 4) = 0;\n          }\n          iVar6 = iVar6 + iVar9 * 4;\n        } while (pIVar5 != pIVar12);\n      }\n      iVar6 = (**(code **)(pcVar22 + 0x2a92c4))(iVar3,pIVar10);\n      if (iVar6 == 0) {\n        return MagickFalse;\n      }\n      iVar15 = iVar15 + 1;\n      pIVar5 = (ImageView *)(uint)(iVar15 < (int)ppIVar7[1]);\n    } while (pIVar5 != (ImageView *)0x0);\n  }" { (do_statement "do {\n      iVar6 = (**(code **)(pcVar22 + 0x2a8e18))\n                        (iVar3,ppIVar7[2],(int)&ppIVar7[3]->description + iVar15,*ppIVar7,1,pIVar10)\n      ;\n      if (iVar6 == 0) {\n        return MagickFalse;\n      }\n      pIVar12 = *ppIVar7;\n      pIVar5 = (ImageView *)0x0;\n      if (0 < (int)pIVar12) {\n        iVar14 = *(int *)(iVar3 + 0x2d0);\n        iVar9 = *(int *)(iVar3 + 0x2c0);\n        iVar13 = *(int *)(iVar14 + 0x34);\n        do {\n          pIVar5 = (ImageView *)((int)&pIVar5->description + 1);\n          if (iVar13 != 0) {\n            *(undefined4 *)(iVar6 + *(int *)(iVar14 + 0x38) * 4) = 0;\n          }\n          iVar6 = iVar6 + iVar9 * 4;\n        } while (pIVar5 != pIVar12);\n      }\n      iVar6 = (**(code **)(pcVar22 + 0x2a92c4))(iVar3,pIVar10);\n      if (iVar6 == 0) {\n        return MagickFalse;\n      }\n      iVar15 = iVar15 + 1;\n      pIVar5 = (ImageView *)(uint)(iVar15 < (int)ppIVar7[1]);\n    } while (pIVar5 != (ImageView *)0x0);" do (compound_statement "{\n      iVar6 = (**(code **)(pcVar22 + 0x2a8e18))\n                        (iVar3,ppIVar7[2],(int)&ppIVar7[3]->description + iVar15,*ppIVar7,1,pIVar10)\n      ;\n      if (iVar6 == 0) {\n        return MagickFalse;\n      }\n      pIVar12 = *ppIVar7;\n      pIVar5 = (ImageView *)0x0;\n      if (0 < (int)pIVar12) {\n        iVar14 = *(int *)(iVar3 + 0x2d0);\n        iVar9 = *(int *)(iVar3 + 0x2c0);\n        iVar13 = *(int *)(iVar14 + 0x34);\n        do {\n          pIVar5 = (ImageView *)((int)&pIVar5->description + 1);\n          if (iVar13 != 0) {\n            *(undefined4 *)(iVar6 + *(int *)(iVar14 + 0x38) * 4) = 0;\n          }\n          iVar6 = iVar6 + iVar9 * 4;\n        } while (pIVar5 != pIVar12);\n      }\n      iVar6 = (**(code **)(pcVar22 + 0x2a92c4))(iVar3,pIVar10);\n      if (iVar6 == 0) {\n        return MagickFalse;\n      }\n      iVar15 = iVar15 + 1;\n      pIVar5 = (ImageView *)(uint)(iVar15 < (int)ppIVar7[1]);\n    }" { (expression_statement "iVar6 = (**(code **)(pcVar22 + 0x2a8e18))\n                        (iVar3,ppIVar7[2],(int)&ppIVar7[3]->description + iVar15,*ppIVar7,1,pIVar10)\n      ;" (assignment_expression "iVar6 = (**(code **)(pcVar22 + 0x2a8e18))\n                        (iVar3,ppIVar7[2],(int)&ppIVar7[3]->description + iVar15,*ppIVar7,1,pIVar10)" identifier = (call_expression "(**(code **)(pcVar22 + 0x2a8e18))\n                        (iVar3,ppIVar7[2],(int)&ppIVar7[3]->description + iVar15,*ppIVar7,1,pIVar10)" (parenthesized_expression "(**(code **)(pcVar22 + 0x2a8e18))" ( (pointer_expression "**(code **)(pcVar22 + 0x2a8e18)" * (pointer_expression "*(code **)(pcVar22 + 0x2a8e18)" * (cast_expression "(code **)(pcVar22 + 0x2a8e18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x2a8e18)" ( (binary_expression "pcVar22 + 0x2a8e18" identifier + number_literal) ))))) )) (argument_list "(iVar3,ppIVar7[2],(int)&ppIVar7[3]->description + iVar15,*ppIVar7,1,pIVar10)" ( identifier , (subscript_expression "ppIVar7[2]" identifier [ number_literal ]) , (binary_expression "(int)&ppIVar7[3]->description + iVar15" (cast_expression "(int)&ppIVar7[3]->description" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&ppIVar7[3]->description" & (field_expression "ppIVar7[3]->description" (subscript_expression "ppIVar7[3]" identifier [ number_literal ]) -> field_identifier))) + identifier) , (pointer_expression "*ppIVar7" * identifier) , number_literal , identifier )))) ;) (if_statement "if (iVar6 == 0) {\n        return MagickFalse;\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        return MagickFalse;\n      }" { (return_statement "return MagickFalse;" return identifier ;) })) (expression_statement "pIVar12 = *ppIVar7;" (assignment_expression "pIVar12 = *ppIVar7" identifier = (pointer_expression "*ppIVar7" * identifier)) ;) (expression_statement "pIVar5 = (ImageView *)0x0;" (assignment_expression "pIVar5 = (ImageView *)0x0" identifier = (cast_expression "(ImageView *)0x0" ( (type_descriptor "ImageView *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0 < (int)pIVar12) {\n        iVar14 = *(int *)(iVar3 + 0x2d0);\n        iVar9 = *(int *)(iVar3 + 0x2c0);\n        iVar13 = *(int *)(iVar14 + 0x34);\n        do {\n          pIVar5 = (ImageView *)((int)&pIVar5->description + 1);\n          if (iVar13 != 0) {\n            *(undefined4 *)(iVar6 + *(int *)(iVar14 + 0x38) * 4) = 0;\n          }\n          iVar6 = iVar6 + iVar9 * 4;\n        } while (pIVar5 != pIVar12);\n      }" if (parenthesized_expression "(0 < (int)pIVar12)" ( (binary_expression "0 < (int)pIVar12" number_literal < (cast_expression "(int)pIVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        iVar14 = *(int *)(iVar3 + 0x2d0);\n        iVar9 = *(int *)(iVar3 + 0x2c0);\n        iVar13 = *(int *)(iVar14 + 0x34);\n        do {\n          pIVar5 = (ImageView *)((int)&pIVar5->description + 1);\n          if (iVar13 != 0) {\n            *(undefined4 *)(iVar6 + *(int *)(iVar14 + 0x38) * 4) = 0;\n          }\n          iVar6 = iVar6 + iVar9 * 4;\n        } while (pIVar5 != pIVar12);\n      }" { (expression_statement "iVar14 = *(int *)(iVar3 + 0x2d0);" (assignment_expression "iVar14 = *(int *)(iVar3 + 0x2d0)" identifier = (pointer_expression "*(int *)(iVar3 + 0x2d0)" * (cast_expression "(int *)(iVar3 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x2d0)" ( (binary_expression "iVar3 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(iVar3 + 0x2c0);" (assignment_expression "iVar9 = *(int *)(iVar3 + 0x2c0)" identifier = (pointer_expression "*(int *)(iVar3 + 0x2c0)" * (cast_expression "(int *)(iVar3 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x2c0)" ( (binary_expression "iVar3 + 0x2c0" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = *(int *)(iVar14 + 0x34);" (assignment_expression "iVar13 = *(int *)(iVar14 + 0x34)" identifier = (pointer_expression "*(int *)(iVar14 + 0x34)" * (cast_expression "(int *)(iVar14 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x34)" ( (binary_expression "iVar14 + 0x34" identifier + number_literal) ))))) ;) (do_statement "do {\n          pIVar5 = (ImageView *)((int)&pIVar5->description + 1);\n          if (iVar13 != 0) {\n            *(undefined4 *)(iVar6 + *(int *)(iVar14 + 0x38) * 4) = 0;\n          }\n          iVar6 = iVar6 + iVar9 * 4;\n        } while (pIVar5 != pIVar12);" do (compound_statement "{\n          pIVar5 = (ImageView *)((int)&pIVar5->description + 1);\n          if (iVar13 != 0) {\n            *(undefined4 *)(iVar6 + *(int *)(iVar14 + 0x38) * 4) = 0;\n          }\n          iVar6 = iVar6 + iVar9 * 4;\n        }" { (expression_statement "pIVar5 = (ImageView *)((int)&pIVar5->description + 1);" (assignment_expression "pIVar5 = (ImageView *)((int)&pIVar5->description + 1)" identifier = (cast_expression "(ImageView *)((int)&pIVar5->description + 1)" ( (type_descriptor "ImageView *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pIVar5->description + 1)" ( (binary_expression "(int)&pIVar5->description + 1" (cast_expression "(int)&pIVar5->description" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pIVar5->description" & (field_expression "pIVar5->description" identifier -> field_identifier))) + number_literal) )))) ;) (if_statement "if (iVar13 != 0) {\n            *(undefined4 *)(iVar6 + *(int *)(iVar14 + 0x38) * 4) = 0;\n          }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n            *(undefined4 *)(iVar6 + *(int *)(iVar14 + 0x38) * 4) = 0;\n          }" { (expression_statement "*(undefined4 *)(iVar6 + *(int *)(iVar14 + 0x38) * 4) = 0;" (assignment_expression "*(undefined4 *)(iVar6 + *(int *)(iVar14 + 0x38) * 4) = 0" (pointer_expression "*(undefined4 *)(iVar6 + *(int *)(iVar14 + 0x38) * 4)" * (cast_expression "(undefined4 *)(iVar6 + *(int *)(iVar14 + 0x38) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + *(int *)(iVar14 + 0x38) * 4)" ( (binary_expression "iVar6 + *(int *)(iVar14 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar14 + 0x38) * 4" (pointer_expression "*(int *)(iVar14 + 0x38)" * (cast_expression "(int *)(iVar14 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x38)" ( (binary_expression "iVar14 + 0x38" identifier + number_literal) )))) * number_literal)) )))) = number_literal) ;) })) (expression_statement "iVar6 = iVar6 + iVar9 * 4;" (assignment_expression "iVar6 = iVar6 + iVar9 * 4" identifier = (binary_expression "iVar6 + iVar9 * 4" identifier + (binary_expression "iVar9 * 4" identifier * number_literal))) ;) }) while (parenthesized_expression "(pIVar5 != pIVar12)" ( (binary_expression "pIVar5 != pIVar12" identifier != identifier) )) ;) })) (expression_statement "iVar6 = (**(code **)(pcVar22 + 0x2a92c4))(iVar3,pIVar10);" (assignment_expression "iVar6 = (**(code **)(pcVar22 + 0x2a92c4))(iVar3,pIVar10)" identifier = (call_expression "(**(code **)(pcVar22 + 0x2a92c4))(iVar3,pIVar10)" (parenthesized_expression "(**(code **)(pcVar22 + 0x2a92c4))" ( (pointer_expression "**(code **)(pcVar22 + 0x2a92c4)" * (pointer_expression "*(code **)(pcVar22 + 0x2a92c4)" * (cast_expression "(code **)(pcVar22 + 0x2a92c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x2a92c4)" ( (binary_expression "pcVar22 + 0x2a92c4" identifier + number_literal) ))))) )) (argument_list "(iVar3,pIVar10)" ( identifier , identifier )))) ;) (if_statement "if (iVar6 == 0) {\n        return MagickFalse;\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        return MagickFalse;\n      }" { (return_statement "return MagickFalse;" return identifier ;) })) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" identifier = (binary_expression "iVar15 + 1" identifier + number_literal)) ;) (expression_statement "pIVar5 = (ImageView *)(uint)(iVar15 < (int)ppIVar7[1]);" (assignment_expression "pIVar5 = (ImageView *)(uint)(iVar15 < (int)ppIVar7[1])" identifier = (cast_expression "(ImageView *)(uint)(iVar15 < (int)ppIVar7[1])" ( (type_descriptor "ImageView *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(iVar15 < (int)ppIVar7[1])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar15 < (int)ppIVar7[1])" ( (binary_expression "iVar15 < (int)ppIVar7[1]" identifier < (cast_expression "(int)ppIVar7[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppIVar7[1]" identifier [ number_literal ]))) ))))) ;) }) while (parenthesized_expression "(pIVar5 != (ImageView *)0x0)" ( (binary_expression "pIVar5 != (ImageView *)0x0" identifier != (cast_expression "(ImageView *)0x0" ( (type_descriptor "ImageView *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (return_statement "return (MagickBooleanType)pIVar5;" return (cast_expression "(MagickBooleanType)pIVar5" ( (type_descriptor "MagickBooleanType" type_identifier) ) identifier) ;) })))
(translation_unit "undefined *\nSetImageViewIterator(undefined *param_1,undefined **param_2,undefined *param_3,undefined *param_4)\n\n{\n  bool bVar1;\n  int iVar2;\n  undefined *puVar3;\n  int iVar4;\n  int extraout_v1;\n  undefined *extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  undefined *extraout_v1_03;\n  int extraout_v1_04;\n  undefined *extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  undefined *extraout_v1_08;\n  int extraout_v1_09;\n  undefined *extraout_v1_10;\n  int extraout_v1_11;\n  int extraout_v1_12;\n  undefined *extraout_v1_13;\n  undefined **ppuVar5;\n  undefined **ppuVar6;\n  int iVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  int iVar11;\n  int iVar12;\n  undefined *unaff_s0;\n  int iVar13;\n  int *piVar14;\n  int *piVar15;\n  undefined **unaff_s2;\n  undefined4 unaff_s3;\n  undefined4 uVar16;\n  undefined *unaff_s4;\n  undefined *unaff_s5;\n  undefined *puVar17;\n  undefined *unaff_s6;\n  undefined *puVar18;\n  code *pcVar19;\n  code *pcVar20;\n  undefined8 uVar21;\n  undefined4 uStack_110;\n  undefined4 uStack_10c;\n  undefined *puStack_104;\n  undefined **ppuStack_100;\n  undefined *puStack_fc;\n  undefined4 uStack_f8;\n  undefined *puStack_f4;\n  undefined4 *puStack_f0;\n  int iStack_ec;\n  undefined *puStack_e8;\n  int *piStack_e4;\n  undefined **ppuStack_e0;\n  undefined *puStack_dc;\n  undefined *puStack_d8;\n  undefined *puStack_d4;\n  undefined *puStack_d0;\n  code *pcStack_cc;\n  undefined *puStack_b8;\n  undefined4 uStack_b0;\n  undefined4 uStack_ac;\n  undefined *puStack_a8;\n  undefined **ppuStack_a4;\n  undefined *puStack_a0;\n  undefined *puStack_9c;\n  undefined *puStack_98;\n  undefined *puStack_94;\n  undefined4 *puStack_90;\n  undefined *puStack_8c;\n  undefined *puStack_88;\n  undefined *puStack_84;\n  undefined **ppuStack_80;\n  undefined4 uStack_7c;\n  undefined *puStack_78;\n  undefined *puStack_74;\n  undefined *puStack_70;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined *local_3c;\n  undefined **local_38;\n  undefined *local_34;\n  undefined4 local_30;\n  undefined *local_2c;\n  undefined4 *local_28;\n  undefined *local_24;\n  \n  puVar9 = PTR___stack_chk_guard_003a9230;\n  local_24 = *(undefined **)PTR___stack_chk_guard_003a9230;\n  if (param_1 == (undefined *)0x0) {\nLAB_000ff904:\n    puVar8 = (undefined *)0x37a;\n    param_4 = PTR_s_t_to_left_003a88e4 + -0x4fec;\n    ppuVar5 = (undefined **)(PTR_s_t_to_left_003a88e4 + -0x5168);\n    puVar10 = PTR_s_t_to_left_003a88e4 + -0x5080;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }\n  else {\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x24) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);\n      goto LAB_000ff904;\n    }\n    ppuVar5 = param_2;\n    puVar8 = param_3;\n    if (param_2 == (undefined **)0x0) {\nLAB_000ff6d0:\n      puVar3 = (undefined *)0x0;\n      param_3 = unaff_s4;\n    }\n    else {\n      unaff_s3 = *(undefined4 *)(param_1 + 0x14);\n      ppuVar5 = (undefined **)0x1;\n      puVar8 = *(undefined **)(param_1 + 0x1c);\n      iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = param_3;\n      if (iVar2 == 0) goto LAB_000ff6d0;\n      unaff_s5 = *(undefined **)(param_1 + 8);\n      unaff_s6 = *(undefined **)(param_1 + 0x10);\n      local_44 = 0;\n      local_48 = 0;\n      iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))) {\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }\nLAB_000ff780:\n      param_4 = (undefined *)0x0;\n      local_2c = (undefined *)0x1;\n      local_28 = &local_48;\n      ppuVar5 = &local_3c;\n      local_3c = param_1;\n      local_38 = param_2;\n      local_34 = param_3;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      puVar3 = local_2c;\n    }\n    puVar10 = local_24;\n    unaff_s2 = param_2;\n    unaff_s4 = param_3;\n    if (local_24 == *(undefined **)puVar9) {\n      return puVar3;\n    }\n  }\n  puVar3 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  puStack_b8 = puVar3 + 0x2b0f7c;\n  puStack_84 = puVar9;\n  piVar14 = *(int **)(puVar3 + 0x2a98fc);\n  puStack_8c = (undefined *)*piVar14;\n  puStack_88 = unaff_s0;\n  ppuStack_80 = unaff_s2;\n  uStack_7c = unaff_s3;\n  puStack_78 = unaff_s4;\n  puStack_74 = unaff_s5;\n  puStack_70 = unaff_s6;\n  if (puVar10 == (undefined *)0x0) {\n    puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb0) + -0x50fc,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fa,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);\n    return puVar9;\n  }\n  if (*(int *)(puVar10 + 0x24) != -0x54535255) {\n    puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb4) + 0x3930,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fb,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);\n    return puVar9;\n  }\n  ppuVar6 = ppuVar5;\n  puVar9 = puVar8;\n  puVar18 = unaff_s6;\n  if (puVar8 == (undefined *)0x0) {\nLAB_000ff9c8:\n    puVar3 = (undefined *)0x0;\n    ppuVar5 = unaff_s2;\n    param_4 = unaff_s4;\n  }\n  else {\n    puVar17 = ppuVar5[5];\n    ppuVar6 = (undefined **)0x1;\n    puVar9 = ppuVar5[7];\n    puVar18 = *(undefined **)(puVar10 + 0x14);\n    iVar2 = (**(code **)(puVar3 + 0x2a9ef0))(puVar17);\n    unaff_s2 = ppuVar5;\n    unaff_s4 = param_4;\n    unaff_s5 = puVar17;\n    if (iVar2 == 0) goto LAB_000ff9c8;\n    iVar13 = *(int *)(puVar10 + 8);\n    iVar4 = *(int *)(puVar10 + 0x10);\n    uStack_ac = 0;\n    uStack_b0 = 0;\n    iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18);\n    if (((iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)) &&\n       ((iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)))) {\n      iVar13 = iVar13 - iVar4;\n      (**(code **)(puStack_b8 + -0x7774))(7);\n      iVar2 = iVar13;\n      if (iVar13 < 0) {\n        iVar2 = iVar13 + 0x3f;\n      }\n      unaff_s5 = (undefined *)(iVar2 >> 6);\n      if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar13 < 0x80;\n      }\n      puVar9 = (undefined *)0x1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        puVar17 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n    }\n    else {\n      uVar21 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar21 = (*pcVar19)(7);\n      if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (undefined *)0x2;\n      }\nLAB_000ffa7c:\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n      puVar9 = unaff_s5;\n      unaff_s5 = puVar17;\n    }\n    puStack_94 = (undefined *)0x1;\n    puStack_90 = &uStack_b0;\n    ppuVar6 = &puStack_a8;\n    puStack_a8 = puVar10;\n    ppuStack_a4 = ppuVar5;\n    puStack_a0 = puVar8;\n    puStack_9c = param_4;\n    puStack_98 = puVar18;\n    (**(code **)(puStack_b8 + -0x7718))(iVar2 + -0x1ecc,ppuVar6,puVar9,0);\n    puVar3 = puStack_94;\n  }\n  if (puStack_8c == (undefined *)*piVar14) {\n    return puVar3;\n  }\n  pcVar19 = *(code **)(puStack_b8 + -0x784c);\n  pcVar20 = UpdateImageViewIterator;\n  puVar3 = puStack_8c;\n  (*pcVar19)();\n  piVar15 = *(int **)(pcVar19 + 0x2a95f8);\n  iStack_ec = *piVar15;\n  puStack_e8 = puVar10;\n  piStack_e4 = piVar14;\n  ppuStack_e0 = ppuVar5;\n  puStack_dc = puVar8;\n  puStack_d8 = param_4;\n  puStack_d4 = unaff_s5;\n  puStack_d0 = puVar18;\n  pcStack_cc = pcVar20;\n  if (puVar3 != (undefined *)0x0) {\n    if (*(int *)(puVar3 + 0x24) == -0x54535255) {\n      ppuVar5 = ppuVar6;\n      puVar10 = puVar9;\n      if (ppuVar6 == (undefined **)0x0) {\nLAB_000ffcbc:\n        puVar9 = (undefined *)0x0;\n      }\n      else {\n        uVar16 = *(undefined4 *)(puVar3 + 0x14);\n        ppuVar5 = (undefined **)0x1;\n        puVar10 = *(undefined **)(puVar3 + 0x1c);\n        iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);\n        if (iVar2 == 0) goto LAB_000ffcbc;\n        iVar13 = *(int *)(puVar3 + 8);\n        iVar4 = *(int *)(puVar3 + 0x10);\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);\n        if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }\n        puStack_f4 = (undefined *)0x1;\n        puStack_f0 = &uStack_110;\n        ppuVar5 = &puStack_104;\n        puStack_104 = puVar3;\n        ppuStack_100 = ppuVar6;\n        puStack_fc = puVar9;\n        uStack_f8 = uVar16;\n        (**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);\n        puVar9 = puStack_f4;\n      }\n      iVar2 = iStack_ec;\n      if (iStack_ec == *piVar15) {\n        return puVar9;\n      }\n      goto LAB_000fff14;\n    }\n    (**(code **)(pcVar19 + 0x2a99d0))\n              (*(int *)(pcVar19 + 0x2a8cb0) + 0x3930,*(int *)(pcVar19 + 0x2a8cac) + -0x5168,0x481,\n               *(int *)(pcVar19 + 0x2a8cac) + -0x5020);\n  }\n  puVar10 = (undefined *)0x480;\n  ppuVar5 = (undefined **)(*(int *)(pcVar19 + 0x2a8cac) + -0x5168);\n  iVar2 = *(int *)(pcVar19 + 0x2a8cac) + -0x50fc;\n  (**(code **)(pcVar19 + 0x2a99d0))();\nLAB_000fff14:\n  pcVar19 = *(code **)(pcVar19 + 0x2a942c);\n  (*pcVar19)();\n  if (*(int *)(iVar2 + 700) == 0) {\n    (**(code **)(pcVar19 + 0x2a8df4))();\n  }\n  puVar9 = ppuVar5[1];\n  iVar13 = 0;\n  if (0 < (int)puVar9) {\n    do {\n      iVar4 = (**(code **)(pcVar19 + 0x2a8e18))\n                        (iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      puVar8 = *ppuVar5;\n      puVar9 = (undefined *)0x0;\n      if (0 < (int)puVar8) {\n        iVar12 = *(int *)(iVar2 + 0x2d0);\n        iVar7 = *(int *)(iVar2 + 0x2c0);\n        iVar11 = *(int *)(iVar12 + 0x34);\n        do {\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        } while (puVar9 != puVar8);\n      }\n      iVar4 = (**(code **)(pcVar19 + 0x2a92c4))(iVar2,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      iVar13 = iVar13 + 1;\n      puVar9 = (undefined *)(uint)(iVar13 < (int)ppuVar5[1]);\n    } while (puVar9 != (undefined *)0x0);\n  }\n  return puVar9;\n}\n\n" (function_definition "undefined *\nSetImageViewIterator(undefined *param_1,undefined **param_2,undefined *param_3,undefined *param_4)\n\n{\n  bool bVar1;\n  int iVar2;\n  undefined *puVar3;\n  int iVar4;\n  int extraout_v1;\n  undefined *extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  undefined *extraout_v1_03;\n  int extraout_v1_04;\n  undefined *extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  undefined *extraout_v1_08;\n  int extraout_v1_09;\n  undefined *extraout_v1_10;\n  int extraout_v1_11;\n  int extraout_v1_12;\n  undefined *extraout_v1_13;\n  undefined **ppuVar5;\n  undefined **ppuVar6;\n  int iVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  int iVar11;\n  int iVar12;\n  undefined *unaff_s0;\n  int iVar13;\n  int *piVar14;\n  int *piVar15;\n  undefined **unaff_s2;\n  undefined4 unaff_s3;\n  undefined4 uVar16;\n  undefined *unaff_s4;\n  undefined *unaff_s5;\n  undefined *puVar17;\n  undefined *unaff_s6;\n  undefined *puVar18;\n  code *pcVar19;\n  code *pcVar20;\n  undefined8 uVar21;\n  undefined4 uStack_110;\n  undefined4 uStack_10c;\n  undefined *puStack_104;\n  undefined **ppuStack_100;\n  undefined *puStack_fc;\n  undefined4 uStack_f8;\n  undefined *puStack_f4;\n  undefined4 *puStack_f0;\n  int iStack_ec;\n  undefined *puStack_e8;\n  int *piStack_e4;\n  undefined **ppuStack_e0;\n  undefined *puStack_dc;\n  undefined *puStack_d8;\n  undefined *puStack_d4;\n  undefined *puStack_d0;\n  code *pcStack_cc;\n  undefined *puStack_b8;\n  undefined4 uStack_b0;\n  undefined4 uStack_ac;\n  undefined *puStack_a8;\n  undefined **ppuStack_a4;\n  undefined *puStack_a0;\n  undefined *puStack_9c;\n  undefined *puStack_98;\n  undefined *puStack_94;\n  undefined4 *puStack_90;\n  undefined *puStack_8c;\n  undefined *puStack_88;\n  undefined *puStack_84;\n  undefined **ppuStack_80;\n  undefined4 uStack_7c;\n  undefined *puStack_78;\n  undefined *puStack_74;\n  undefined *puStack_70;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined *local_3c;\n  undefined **local_38;\n  undefined *local_34;\n  undefined4 local_30;\n  undefined *local_2c;\n  undefined4 *local_28;\n  undefined *local_24;\n  \n  puVar9 = PTR___stack_chk_guard_003a9230;\n  local_24 = *(undefined **)PTR___stack_chk_guard_003a9230;\n  if (param_1 == (undefined *)0x0) {\nLAB_000ff904:\n    puVar8 = (undefined *)0x37a;\n    param_4 = PTR_s_t_to_left_003a88e4 + -0x4fec;\n    ppuVar5 = (undefined **)(PTR_s_t_to_left_003a88e4 + -0x5168);\n    puVar10 = PTR_s_t_to_left_003a88e4 + -0x5080;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }\n  else {\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x24) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);\n      goto LAB_000ff904;\n    }\n    ppuVar5 = param_2;\n    puVar8 = param_3;\n    if (param_2 == (undefined **)0x0) {\nLAB_000ff6d0:\n      puVar3 = (undefined *)0x0;\n      param_3 = unaff_s4;\n    }\n    else {\n      unaff_s3 = *(undefined4 *)(param_1 + 0x14);\n      ppuVar5 = (undefined **)0x1;\n      puVar8 = *(undefined **)(param_1 + 0x1c);\n      iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = param_3;\n      if (iVar2 == 0) goto LAB_000ff6d0;\n      unaff_s5 = *(undefined **)(param_1 + 8);\n      unaff_s6 = *(undefined **)(param_1 + 0x10);\n      local_44 = 0;\n      local_48 = 0;\n      iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))) {\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }\nLAB_000ff780:\n      param_4 = (undefined *)0x0;\n      local_2c = (undefined *)0x1;\n      local_28 = &local_48;\n      ppuVar5 = &local_3c;\n      local_3c = param_1;\n      local_38 = param_2;\n      local_34 = param_3;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      puVar3 = local_2c;\n    }\n    puVar10 = local_24;\n    unaff_s2 = param_2;\n    unaff_s4 = param_3;\n    if (local_24 == *(undefined **)puVar9) {\n      return puVar3;\n    }\n  }\n  puVar3 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  puStack_b8 = puVar3 + 0x2b0f7c;\n  puStack_84 = puVar9;\n  piVar14 = *(int **)(puVar3 + 0x2a98fc);\n  puStack_8c = (undefined *)*piVar14;\n  puStack_88 = unaff_s0;\n  ppuStack_80 = unaff_s2;\n  uStack_7c = unaff_s3;\n  puStack_78 = unaff_s4;\n  puStack_74 = unaff_s5;\n  puStack_70 = unaff_s6;\n  if (puVar10 == (undefined *)0x0) {\n    puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb0) + -0x50fc,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fa,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);\n    return puVar9;\n  }\n  if (*(int *)(puVar10 + 0x24) != -0x54535255) {\n    puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb4) + 0x3930,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fb,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);\n    return puVar9;\n  }\n  ppuVar6 = ppuVar5;\n  puVar9 = puVar8;\n  puVar18 = unaff_s6;\n  if (puVar8 == (undefined *)0x0) {\nLAB_000ff9c8:\n    puVar3 = (undefined *)0x0;\n    ppuVar5 = unaff_s2;\n    param_4 = unaff_s4;\n  }\n  else {\n    puVar17 = ppuVar5[5];\n    ppuVar6 = (undefined **)0x1;\n    puVar9 = ppuVar5[7];\n    puVar18 = *(undefined **)(puVar10 + 0x14);\n    iVar2 = (**(code **)(puVar3 + 0x2a9ef0))(puVar17);\n    unaff_s2 = ppuVar5;\n    unaff_s4 = param_4;\n    unaff_s5 = puVar17;\n    if (iVar2 == 0) goto LAB_000ff9c8;\n    iVar13 = *(int *)(puVar10 + 8);\n    iVar4 = *(int *)(puVar10 + 0x10);\n    uStack_ac = 0;\n    uStack_b0 = 0;\n    iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18);\n    if (((iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)) &&\n       ((iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)))) {\n      iVar13 = iVar13 - iVar4;\n      (**(code **)(puStack_b8 + -0x7774))(7);\n      iVar2 = iVar13;\n      if (iVar13 < 0) {\n        iVar2 = iVar13 + 0x3f;\n      }\n      unaff_s5 = (undefined *)(iVar2 >> 6);\n      if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar13 < 0x80;\n      }\n      puVar9 = (undefined *)0x1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        puVar17 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n    }\n    else {\n      uVar21 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar21 = (*pcVar19)(7);\n      if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (undefined *)0x2;\n      }\nLAB_000ffa7c:\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n      puVar9 = unaff_s5;\n      unaff_s5 = puVar17;\n    }\n    puStack_94 = (undefined *)0x1;\n    puStack_90 = &uStack_b0;\n    ppuVar6 = &puStack_a8;\n    puStack_a8 = puVar10;\n    ppuStack_a4 = ppuVar5;\n    puStack_a0 = puVar8;\n    puStack_9c = param_4;\n    puStack_98 = puVar18;\n    (**(code **)(puStack_b8 + -0x7718))(iVar2 + -0x1ecc,ppuVar6,puVar9,0);\n    puVar3 = puStack_94;\n  }\n  if (puStack_8c == (undefined *)*piVar14) {\n    return puVar3;\n  }\n  pcVar19 = *(code **)(puStack_b8 + -0x784c);\n  pcVar20 = UpdateImageViewIterator;\n  puVar3 = puStack_8c;\n  (*pcVar19)();\n  piVar15 = *(int **)(pcVar19 + 0x2a95f8);\n  iStack_ec = *piVar15;\n  puStack_e8 = puVar10;\n  piStack_e4 = piVar14;\n  ppuStack_e0 = ppuVar5;\n  puStack_dc = puVar8;\n  puStack_d8 = param_4;\n  puStack_d4 = unaff_s5;\n  puStack_d0 = puVar18;\n  pcStack_cc = pcVar20;\n  if (puVar3 != (undefined *)0x0) {\n    if (*(int *)(puVar3 + 0x24) == -0x54535255) {\n      ppuVar5 = ppuVar6;\n      puVar10 = puVar9;\n      if (ppuVar6 == (undefined **)0x0) {\nLAB_000ffcbc:\n        puVar9 = (undefined *)0x0;\n      }\n      else {\n        uVar16 = *(undefined4 *)(puVar3 + 0x14);\n        ppuVar5 = (undefined **)0x1;\n        puVar10 = *(undefined **)(puVar3 + 0x1c);\n        iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);\n        if (iVar2 == 0) goto LAB_000ffcbc;\n        iVar13 = *(int *)(puVar3 + 8);\n        iVar4 = *(int *)(puVar3 + 0x10);\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);\n        if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }\n        puStack_f4 = (undefined *)0x1;\n        puStack_f0 = &uStack_110;\n        ppuVar5 = &puStack_104;\n        puStack_104 = puVar3;\n        ppuStack_100 = ppuVar6;\n        puStack_fc = puVar9;\n        uStack_f8 = uVar16;\n        (**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);\n        puVar9 = puStack_f4;\n      }\n      iVar2 = iStack_ec;\n      if (iStack_ec == *piVar15) {\n        return puVar9;\n      }\n      goto LAB_000fff14;\n    }\n    (**(code **)(pcVar19 + 0x2a99d0))\n              (*(int *)(pcVar19 + 0x2a8cb0) + 0x3930,*(int *)(pcVar19 + 0x2a8cac) + -0x5168,0x481,\n               *(int *)(pcVar19 + 0x2a8cac) + -0x5020);\n  }\n  puVar10 = (undefined *)0x480;\n  ppuVar5 = (undefined **)(*(int *)(pcVar19 + 0x2a8cac) + -0x5168);\n  iVar2 = *(int *)(pcVar19 + 0x2a8cac) + -0x50fc;\n  (**(code **)(pcVar19 + 0x2a99d0))();\nLAB_000fff14:\n  pcVar19 = *(code **)(pcVar19 + 0x2a942c);\n  (*pcVar19)();\n  if (*(int *)(iVar2 + 700) == 0) {\n    (**(code **)(pcVar19 + 0x2a8df4))();\n  }\n  puVar9 = ppuVar5[1];\n  iVar13 = 0;\n  if (0 < (int)puVar9) {\n    do {\n      iVar4 = (**(code **)(pcVar19 + 0x2a8e18))\n                        (iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      puVar8 = *ppuVar5;\n      puVar9 = (undefined *)0x0;\n      if (0 < (int)puVar8) {\n        iVar12 = *(int *)(iVar2 + 0x2d0);\n        iVar7 = *(int *)(iVar2 + 0x2c0);\n        iVar11 = *(int *)(iVar12 + 0x34);\n        do {\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        } while (puVar9 != puVar8);\n      }\n      iVar4 = (**(code **)(pcVar19 + 0x2a92c4))(iVar2,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      iVar13 = iVar13 + 1;\n      puVar9 = (undefined *)(uint)(iVar13 < (int)ppuVar5[1]);\n    } while (puVar9 != (undefined *)0x0);\n  }\n  return puVar9;\n}" type_identifier (pointer_declarator "*\nSetImageViewIterator(undefined *param_1,undefined **param_2,undefined *param_3,undefined *param_4)" * (function_declarator "SetImageViewIterator(undefined *param_1,undefined **param_2,undefined *param_3,undefined *param_4)" identifier (parameter_list "(undefined *param_1,undefined **param_2,undefined *param_3,undefined *param_4)" ( (parameter_declaration "undefined *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined **param_2" type_identifier (pointer_declarator "**param_2" * (pointer_declarator "*param_2" * identifier))) , (parameter_declaration "undefined *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "undefined *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) )))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  undefined *puVar3;\n  int iVar4;\n  int extraout_v1;\n  undefined *extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  undefined *extraout_v1_03;\n  int extraout_v1_04;\n  undefined *extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  undefined *extraout_v1_08;\n  int extraout_v1_09;\n  undefined *extraout_v1_10;\n  int extraout_v1_11;\n  int extraout_v1_12;\n  undefined *extraout_v1_13;\n  undefined **ppuVar5;\n  undefined **ppuVar6;\n  int iVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  int iVar11;\n  int iVar12;\n  undefined *unaff_s0;\n  int iVar13;\n  int *piVar14;\n  int *piVar15;\n  undefined **unaff_s2;\n  undefined4 unaff_s3;\n  undefined4 uVar16;\n  undefined *unaff_s4;\n  undefined *unaff_s5;\n  undefined *puVar17;\n  undefined *unaff_s6;\n  undefined *puVar18;\n  code *pcVar19;\n  code *pcVar20;\n  undefined8 uVar21;\n  undefined4 uStack_110;\n  undefined4 uStack_10c;\n  undefined *puStack_104;\n  undefined **ppuStack_100;\n  undefined *puStack_fc;\n  undefined4 uStack_f8;\n  undefined *puStack_f4;\n  undefined4 *puStack_f0;\n  int iStack_ec;\n  undefined *puStack_e8;\n  int *piStack_e4;\n  undefined **ppuStack_e0;\n  undefined *puStack_dc;\n  undefined *puStack_d8;\n  undefined *puStack_d4;\n  undefined *puStack_d0;\n  code *pcStack_cc;\n  undefined *puStack_b8;\n  undefined4 uStack_b0;\n  undefined4 uStack_ac;\n  undefined *puStack_a8;\n  undefined **ppuStack_a4;\n  undefined *puStack_a0;\n  undefined *puStack_9c;\n  undefined *puStack_98;\n  undefined *puStack_94;\n  undefined4 *puStack_90;\n  undefined *puStack_8c;\n  undefined *puStack_88;\n  undefined *puStack_84;\n  undefined **ppuStack_80;\n  undefined4 uStack_7c;\n  undefined *puStack_78;\n  undefined *puStack_74;\n  undefined *puStack_70;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined *local_3c;\n  undefined **local_38;\n  undefined *local_34;\n  undefined4 local_30;\n  undefined *local_2c;\n  undefined4 *local_28;\n  undefined *local_24;\n  \n  puVar9 = PTR___stack_chk_guard_003a9230;\n  local_24 = *(undefined **)PTR___stack_chk_guard_003a9230;\n  if (param_1 == (undefined *)0x0) {\nLAB_000ff904:\n    puVar8 = (undefined *)0x37a;\n    param_4 = PTR_s_t_to_left_003a88e4 + -0x4fec;\n    ppuVar5 = (undefined **)(PTR_s_t_to_left_003a88e4 + -0x5168);\n    puVar10 = PTR_s_t_to_left_003a88e4 + -0x5080;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }\n  else {\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x24) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);\n      goto LAB_000ff904;\n    }\n    ppuVar5 = param_2;\n    puVar8 = param_3;\n    if (param_2 == (undefined **)0x0) {\nLAB_000ff6d0:\n      puVar3 = (undefined *)0x0;\n      param_3 = unaff_s4;\n    }\n    else {\n      unaff_s3 = *(undefined4 *)(param_1 + 0x14);\n      ppuVar5 = (undefined **)0x1;\n      puVar8 = *(undefined **)(param_1 + 0x1c);\n      iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = param_3;\n      if (iVar2 == 0) goto LAB_000ff6d0;\n      unaff_s5 = *(undefined **)(param_1 + 8);\n      unaff_s6 = *(undefined **)(param_1 + 0x10);\n      local_44 = 0;\n      local_48 = 0;\n      iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))) {\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }\nLAB_000ff780:\n      param_4 = (undefined *)0x0;\n      local_2c = (undefined *)0x1;\n      local_28 = &local_48;\n      ppuVar5 = &local_3c;\n      local_3c = param_1;\n      local_38 = param_2;\n      local_34 = param_3;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      puVar3 = local_2c;\n    }\n    puVar10 = local_24;\n    unaff_s2 = param_2;\n    unaff_s4 = param_3;\n    if (local_24 == *(undefined **)puVar9) {\n      return puVar3;\n    }\n  }\n  puVar3 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  puStack_b8 = puVar3 + 0x2b0f7c;\n  puStack_84 = puVar9;\n  piVar14 = *(int **)(puVar3 + 0x2a98fc);\n  puStack_8c = (undefined *)*piVar14;\n  puStack_88 = unaff_s0;\n  ppuStack_80 = unaff_s2;\n  uStack_7c = unaff_s3;\n  puStack_78 = unaff_s4;\n  puStack_74 = unaff_s5;\n  puStack_70 = unaff_s6;\n  if (puVar10 == (undefined *)0x0) {\n    puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb0) + -0x50fc,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fa,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);\n    return puVar9;\n  }\n  if (*(int *)(puVar10 + 0x24) != -0x54535255) {\n    puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb4) + 0x3930,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fb,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);\n    return puVar9;\n  }\n  ppuVar6 = ppuVar5;\n  puVar9 = puVar8;\n  puVar18 = unaff_s6;\n  if (puVar8 == (undefined *)0x0) {\nLAB_000ff9c8:\n    puVar3 = (undefined *)0x0;\n    ppuVar5 = unaff_s2;\n    param_4 = unaff_s4;\n  }\n  else {\n    puVar17 = ppuVar5[5];\n    ppuVar6 = (undefined **)0x1;\n    puVar9 = ppuVar5[7];\n    puVar18 = *(undefined **)(puVar10 + 0x14);\n    iVar2 = (**(code **)(puVar3 + 0x2a9ef0))(puVar17);\n    unaff_s2 = ppuVar5;\n    unaff_s4 = param_4;\n    unaff_s5 = puVar17;\n    if (iVar2 == 0) goto LAB_000ff9c8;\n    iVar13 = *(int *)(puVar10 + 8);\n    iVar4 = *(int *)(puVar10 + 0x10);\n    uStack_ac = 0;\n    uStack_b0 = 0;\n    iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18);\n    if (((iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)) &&\n       ((iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)))) {\n      iVar13 = iVar13 - iVar4;\n      (**(code **)(puStack_b8 + -0x7774))(7);\n      iVar2 = iVar13;\n      if (iVar13 < 0) {\n        iVar2 = iVar13 + 0x3f;\n      }\n      unaff_s5 = (undefined *)(iVar2 >> 6);\n      if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar13 < 0x80;\n      }\n      puVar9 = (undefined *)0x1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        puVar17 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n    }\n    else {\n      uVar21 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar21 = (*pcVar19)(7);\n      if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (undefined *)0x2;\n      }\nLAB_000ffa7c:\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n      puVar9 = unaff_s5;\n      unaff_s5 = puVar17;\n    }\n    puStack_94 = (undefined *)0x1;\n    puStack_90 = &uStack_b0;\n    ppuVar6 = &puStack_a8;\n    puStack_a8 = puVar10;\n    ppuStack_a4 = ppuVar5;\n    puStack_a0 = puVar8;\n    puStack_9c = param_4;\n    puStack_98 = puVar18;\n    (**(code **)(puStack_b8 + -0x7718))(iVar2 + -0x1ecc,ppuVar6,puVar9,0);\n    puVar3 = puStack_94;\n  }\n  if (puStack_8c == (undefined *)*piVar14) {\n    return puVar3;\n  }\n  pcVar19 = *(code **)(puStack_b8 + -0x784c);\n  pcVar20 = UpdateImageViewIterator;\n  puVar3 = puStack_8c;\n  (*pcVar19)();\n  piVar15 = *(int **)(pcVar19 + 0x2a95f8);\n  iStack_ec = *piVar15;\n  puStack_e8 = puVar10;\n  piStack_e4 = piVar14;\n  ppuStack_e0 = ppuVar5;\n  puStack_dc = puVar8;\n  puStack_d8 = param_4;\n  puStack_d4 = unaff_s5;\n  puStack_d0 = puVar18;\n  pcStack_cc = pcVar20;\n  if (puVar3 != (undefined *)0x0) {\n    if (*(int *)(puVar3 + 0x24) == -0x54535255) {\n      ppuVar5 = ppuVar6;\n      puVar10 = puVar9;\n      if (ppuVar6 == (undefined **)0x0) {\nLAB_000ffcbc:\n        puVar9 = (undefined *)0x0;\n      }\n      else {\n        uVar16 = *(undefined4 *)(puVar3 + 0x14);\n        ppuVar5 = (undefined **)0x1;\n        puVar10 = *(undefined **)(puVar3 + 0x1c);\n        iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);\n        if (iVar2 == 0) goto LAB_000ffcbc;\n        iVar13 = *(int *)(puVar3 + 8);\n        iVar4 = *(int *)(puVar3 + 0x10);\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);\n        if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }\n        puStack_f4 = (undefined *)0x1;\n        puStack_f0 = &uStack_110;\n        ppuVar5 = &puStack_104;\n        puStack_104 = puVar3;\n        ppuStack_100 = ppuVar6;\n        puStack_fc = puVar9;\n        uStack_f8 = uVar16;\n        (**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);\n        puVar9 = puStack_f4;\n      }\n      iVar2 = iStack_ec;\n      if (iStack_ec == *piVar15) {\n        return puVar9;\n      }\n      goto LAB_000fff14;\n    }\n    (**(code **)(pcVar19 + 0x2a99d0))\n              (*(int *)(pcVar19 + 0x2a8cb0) + 0x3930,*(int *)(pcVar19 + 0x2a8cac) + -0x5168,0x481,\n               *(int *)(pcVar19 + 0x2a8cac) + -0x5020);\n  }\n  puVar10 = (undefined *)0x480;\n  ppuVar5 = (undefined **)(*(int *)(pcVar19 + 0x2a8cac) + -0x5168);\n  iVar2 = *(int *)(pcVar19 + 0x2a8cac) + -0x50fc;\n  (**(code **)(pcVar19 + 0x2a99d0))();\nLAB_000fff14:\n  pcVar19 = *(code **)(pcVar19 + 0x2a942c);\n  (*pcVar19)();\n  if (*(int *)(iVar2 + 700) == 0) {\n    (**(code **)(pcVar19 + 0x2a8df4))();\n  }\n  puVar9 = ppuVar5[1];\n  iVar13 = 0;\n  if (0 < (int)puVar9) {\n    do {\n      iVar4 = (**(code **)(pcVar19 + 0x2a8e18))\n                        (iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      puVar8 = *ppuVar5;\n      puVar9 = (undefined *)0x0;\n      if (0 < (int)puVar8) {\n        iVar12 = *(int *)(iVar2 + 0x2d0);\n        iVar7 = *(int *)(iVar2 + 0x2c0);\n        iVar11 = *(int *)(iVar12 + 0x34);\n        do {\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        } while (puVar9 != puVar8);\n      }\n      iVar4 = (**(code **)(pcVar19 + 0x2a92c4))(iVar2,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      iVar13 = iVar13 + 1;\n      puVar9 = (undefined *)(uint)(iVar13 < (int)ppuVar5[1]);\n    } while (puVar9 != (undefined *)0x0);\n  }\n  return puVar9;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int extraout_v1;" primitive_type identifier ;) (declaration "undefined *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 "undefined *extraout_v1_03;" type_identifier (pointer_declarator "*extraout_v1_03" * identifier) ;) (declaration "int extraout_v1_04;" primitive_type identifier ;) (declaration "undefined *extraout_v1_05;" type_identifier (pointer_declarator "*extraout_v1_05" * identifier) ;) (declaration "int extraout_v1_06;" primitive_type identifier ;) (declaration "int extraout_v1_07;" primitive_type identifier ;) (declaration "undefined *extraout_v1_08;" type_identifier (pointer_declarator "*extraout_v1_08" * identifier) ;) (declaration "int extraout_v1_09;" primitive_type identifier ;) (declaration "undefined *extraout_v1_10;" type_identifier (pointer_declarator "*extraout_v1_10" * identifier) ;) (declaration "int extraout_v1_11;" primitive_type identifier ;) (declaration "int extraout_v1_12;" primitive_type identifier ;) (declaration "undefined *extraout_v1_13;" type_identifier (pointer_declarator "*extraout_v1_13" * identifier) ;) (declaration "undefined **ppuVar5;" type_identifier (pointer_declarator "**ppuVar5" * (pointer_declarator "*ppuVar5" * identifier)) ;) (declaration "undefined **ppuVar6;" type_identifier (pointer_declarator "**ppuVar6" * (pointer_declarator "*ppuVar6" * identifier)) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "undefined *unaff_s0;" type_identifier (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "undefined **unaff_s2;" type_identifier (pointer_declarator "**unaff_s2" * (pointer_declarator "*unaff_s2" * identifier)) ;) (declaration "undefined4 unaff_s3;" type_identifier identifier ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "undefined *unaff_s4;" type_identifier (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "undefined *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "undefined *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "undefined *unaff_s6;" type_identifier (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "undefined *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "code *pcVar19;" type_identifier (pointer_declarator "*pcVar19" * identifier) ;) (declaration "code *pcVar20;" type_identifier (pointer_declarator "*pcVar20" * identifier) ;) (declaration "undefined8 uVar21;" type_identifier identifier ;) (declaration "undefined4 uStack_110;" type_identifier identifier ;) (declaration "undefined4 uStack_10c;" type_identifier identifier ;) (declaration "undefined *puStack_104;" type_identifier (pointer_declarator "*puStack_104" * identifier) ;) (declaration "undefined **ppuStack_100;" type_identifier (pointer_declarator "**ppuStack_100" * (pointer_declarator "*ppuStack_100" * identifier)) ;) (declaration "undefined *puStack_fc;" type_identifier (pointer_declarator "*puStack_fc" * identifier) ;) (declaration "undefined4 uStack_f8;" type_identifier identifier ;) (declaration "undefined *puStack_f4;" type_identifier (pointer_declarator "*puStack_f4" * identifier) ;) (declaration "undefined4 *puStack_f0;" type_identifier (pointer_declarator "*puStack_f0" * identifier) ;) (declaration "int iStack_ec;" primitive_type identifier ;) (declaration "undefined *puStack_e8;" type_identifier (pointer_declarator "*puStack_e8" * identifier) ;) (declaration "int *piStack_e4;" primitive_type (pointer_declarator "*piStack_e4" * identifier) ;) (declaration "undefined **ppuStack_e0;" type_identifier (pointer_declarator "**ppuStack_e0" * (pointer_declarator "*ppuStack_e0" * identifier)) ;) (declaration "undefined *puStack_dc;" type_identifier (pointer_declarator "*puStack_dc" * identifier) ;) (declaration "undefined *puStack_d8;" type_identifier (pointer_declarator "*puStack_d8" * identifier) ;) (declaration "undefined *puStack_d4;" type_identifier (pointer_declarator "*puStack_d4" * identifier) ;) (declaration "undefined *puStack_d0;" type_identifier (pointer_declarator "*puStack_d0" * identifier) ;) (declaration "code *pcStack_cc;" type_identifier (pointer_declarator "*pcStack_cc" * identifier) ;) (declaration "undefined *puStack_b8;" type_identifier (pointer_declarator "*puStack_b8" * identifier) ;) (declaration "undefined4 uStack_b0;" type_identifier identifier ;) (declaration "undefined4 uStack_ac;" type_identifier identifier ;) (declaration "undefined *puStack_a8;" type_identifier (pointer_declarator "*puStack_a8" * identifier) ;) (declaration "undefined **ppuStack_a4;" type_identifier (pointer_declarator "**ppuStack_a4" * (pointer_declarator "*ppuStack_a4" * identifier)) ;) (declaration "undefined *puStack_a0;" type_identifier (pointer_declarator "*puStack_a0" * identifier) ;) (declaration "undefined *puStack_9c;" type_identifier (pointer_declarator "*puStack_9c" * identifier) ;) (declaration "undefined *puStack_98;" type_identifier (pointer_declarator "*puStack_98" * identifier) ;) (declaration "undefined *puStack_94;" type_identifier (pointer_declarator "*puStack_94" * identifier) ;) (declaration "undefined4 *puStack_90;" type_identifier (pointer_declarator "*puStack_90" * identifier) ;) (declaration "undefined *puStack_8c;" type_identifier (pointer_declarator "*puStack_8c" * identifier) ;) (declaration "undefined *puStack_88;" type_identifier (pointer_declarator "*puStack_88" * identifier) ;) (declaration "undefined *puStack_84;" type_identifier (pointer_declarator "*puStack_84" * identifier) ;) (declaration "undefined **ppuStack_80;" type_identifier (pointer_declarator "**ppuStack_80" * (pointer_declarator "*ppuStack_80" * identifier)) ;) (declaration "undefined4 uStack_7c;" type_identifier identifier ;) (declaration "undefined *puStack_78;" type_identifier (pointer_declarator "*puStack_78" * identifier) ;) (declaration "undefined *puStack_74;" type_identifier (pointer_declarator "*puStack_74" * identifier) ;) (declaration "undefined *puStack_70;" type_identifier (pointer_declarator "*puStack_70" * identifier) ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "undefined4 local_44;" type_identifier identifier ;) (declaration "undefined *local_3c;" type_identifier (pointer_declarator "*local_3c" * identifier) ;) (declaration "undefined **local_38;" type_identifier (pointer_declarator "**local_38" * (pointer_declarator "*local_38" * identifier)) ;) (declaration "undefined *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "undefined *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (declaration "undefined4 *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (declaration "undefined *local_24;" type_identifier (pointer_declarator "*local_24" * identifier) ;) (expression_statement "puVar9 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar9 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "local_24 = *(undefined **)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_24 = *(undefined **)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(undefined **)PTR___stack_chk_guard_003a9230" * (cast_expression "(undefined **)PTR___stack_chk_guard_003a9230" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (param_1 == (undefined *)0x0) {\nLAB_000ff904:\n    puVar8 = (undefined *)0x37a;\n    param_4 = PTR_s_t_to_left_003a88e4 + -0x4fec;\n    ppuVar5 = (undefined **)(PTR_s_t_to_left_003a88e4 + -0x5168);\n    puVar10 = PTR_s_t_to_left_003a88e4 + -0x5080;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }\n  else {\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x24) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);\n      goto LAB_000ff904;\n    }\n    ppuVar5 = param_2;\n    puVar8 = param_3;\n    if (param_2 == (undefined **)0x0) {\nLAB_000ff6d0:\n      puVar3 = (undefined *)0x0;\n      param_3 = unaff_s4;\n    }\n    else {\n      unaff_s3 = *(undefined4 *)(param_1 + 0x14);\n      ppuVar5 = (undefined **)0x1;\n      puVar8 = *(undefined **)(param_1 + 0x1c);\n      iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = param_3;\n      if (iVar2 == 0) goto LAB_000ff6d0;\n      unaff_s5 = *(undefined **)(param_1 + 8);\n      unaff_s6 = *(undefined **)(param_1 + 0x10);\n      local_44 = 0;\n      local_48 = 0;\n      iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))) {\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }\nLAB_000ff780:\n      param_4 = (undefined *)0x0;\n      local_2c = (undefined *)0x1;\n      local_28 = &local_48;\n      ppuVar5 = &local_3c;\n      local_3c = param_1;\n      local_38 = param_2;\n      local_34 = param_3;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      puVar3 = local_2c;\n    }\n    puVar10 = local_24;\n    unaff_s2 = param_2;\n    unaff_s4 = param_3;\n    if (local_24 == *(undefined **)puVar9) {\n      return puVar3;\n    }\n  }" if (parenthesized_expression "(param_1 == (undefined *)0x0)" ( (binary_expression "param_1 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000ff904:\n    puVar8 = (undefined *)0x37a;\n    param_4 = PTR_s_t_to_left_003a88e4 + -0x4fec;\n    ppuVar5 = (undefined **)(PTR_s_t_to_left_003a88e4 + -0x5168);\n    puVar10 = PTR_s_t_to_left_003a88e4 + -0x5080;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }" { (labeled_statement "LAB_000ff904:\n    puVar8 = (undefined *)0x37a;" statement_identifier : (expression_statement "puVar8 = (undefined *)0x37a;" (assignment_expression "puVar8 = (undefined *)0x37a" identifier = (cast_expression "(undefined *)0x37a" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "param_4 = PTR_s_t_to_left_003a88e4 + -0x4fec;" (assignment_expression "param_4 = PTR_s_t_to_left_003a88e4 + -0x4fec" identifier = (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4fec" identifier + number_literal)) ;) (expression_statement "ppuVar5 = (undefined **)(PTR_s_t_to_left_003a88e4 + -0x5168);" (assignment_expression "ppuVar5 = (undefined **)(PTR_s_t_to_left_003a88e4 + -0x5168)" identifier = (cast_expression "(undefined **)(PTR_s_t_to_left_003a88e4 + -0x5168)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_s_t_to_left_003a88e4 + -0x5168)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5168" identifier + number_literal) )))) ;) (expression_statement "puVar10 = PTR_s_t_to_left_003a88e4 + -0x5080;" (assignment_expression "puVar10 = PTR_s_t_to_left_003a88e4 + -0x5080" identifier = (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5080" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)();" (call_expression "(*(code *)PTR___assert_fail_003a9608)()" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) }) (else_clause "else {\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x24) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);\n      goto LAB_000ff904;\n    }\n    ppuVar5 = param_2;\n    puVar8 = param_3;\n    if (param_2 == (undefined **)0x0) {\nLAB_000ff6d0:\n      puVar3 = (undefined *)0x0;\n      param_3 = unaff_s4;\n    }\n    else {\n      unaff_s3 = *(undefined4 *)(param_1 + 0x14);\n      ppuVar5 = (undefined **)0x1;\n      puVar8 = *(undefined **)(param_1 + 0x1c);\n      iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = param_3;\n      if (iVar2 == 0) goto LAB_000ff6d0;\n      unaff_s5 = *(undefined **)(param_1 + 8);\n      unaff_s6 = *(undefined **)(param_1 + 0x10);\n      local_44 = 0;\n      local_48 = 0;\n      iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))) {\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }\nLAB_000ff780:\n      param_4 = (undefined *)0x0;\n      local_2c = (undefined *)0x1;\n      local_28 = &local_48;\n      ppuVar5 = &local_3c;\n      local_3c = param_1;\n      local_38 = param_2;\n      local_34 = param_3;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      puVar3 = local_2c;\n    }\n    puVar10 = local_24;\n    unaff_s2 = param_2;\n    unaff_s4 = param_3;\n    if (local_24 == *(undefined **)puVar9) {\n      return puVar3;\n    }\n  }" else (compound_statement "{\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x24) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);\n      goto LAB_000ff904;\n    }\n    ppuVar5 = param_2;\n    puVar8 = param_3;\n    if (param_2 == (undefined **)0x0) {\nLAB_000ff6d0:\n      puVar3 = (undefined *)0x0;\n      param_3 = unaff_s4;\n    }\n    else {\n      unaff_s3 = *(undefined4 *)(param_1 + 0x14);\n      ppuVar5 = (undefined **)0x1;\n      puVar8 = *(undefined **)(param_1 + 0x1c);\n      iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = param_3;\n      if (iVar2 == 0) goto LAB_000ff6d0;\n      unaff_s5 = *(undefined **)(param_1 + 8);\n      unaff_s6 = *(undefined **)(param_1 + 0x10);\n      local_44 = 0;\n      local_48 = 0;\n      iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))) {\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }\nLAB_000ff780:\n      param_4 = (undefined *)0x0;\n      local_2c = (undefined *)0x1;\n      local_28 = &local_48;\n      ppuVar5 = &local_3c;\n      local_3c = param_1;\n      local_38 = param_2;\n      local_34 = param_3;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      puVar3 = local_2c;\n    }\n    puVar10 = local_24;\n    unaff_s2 = param_2;\n    unaff_s4 = param_3;\n    if (local_24 == *(undefined **)puVar9) {\n      return puVar3;\n    }\n  }" { (expression_statement "unaff_s0 = param_1;" (assignment_expression "unaff_s0 = param_1" identifier = identifier) ;) (if_statement "if (*(int *)(param_1 + 0x24) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);\n      goto LAB_000ff904;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x24) != -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x24) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x24)" * (cast_expression "(int *)(param_1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);\n      goto LAB_000ff904;\n    }" { (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x505c" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5168" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4fec" identifier + number_literal) ))) ;) (goto_statement "goto LAB_000ff904;" goto statement_identifier ;) })) (expression_statement "ppuVar5 = param_2;" (assignment_expression "ppuVar5 = param_2" identifier = identifier) ;) (expression_statement "puVar8 = param_3;" (assignment_expression "puVar8 = param_3" identifier = identifier) ;) (if_statement "if (param_2 == (undefined **)0x0) {\nLAB_000ff6d0:\n      puVar3 = (undefined *)0x0;\n      param_3 = unaff_s4;\n    }\n    else {\n      unaff_s3 = *(undefined4 *)(param_1 + 0x14);\n      ppuVar5 = (undefined **)0x1;\n      puVar8 = *(undefined **)(param_1 + 0x1c);\n      iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = param_3;\n      if (iVar2 == 0) goto LAB_000ff6d0;\n      unaff_s5 = *(undefined **)(param_1 + 8);\n      unaff_s6 = *(undefined **)(param_1 + 0x10);\n      local_44 = 0;\n      local_48 = 0;\n      iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))) {\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }\nLAB_000ff780:\n      param_4 = (undefined *)0x0;\n      local_2c = (undefined *)0x1;\n      local_28 = &local_48;\n      ppuVar5 = &local_3c;\n      local_3c = param_1;\n      local_38 = param_2;\n      local_34 = param_3;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      puVar3 = local_2c;\n    }" if (parenthesized_expression "(param_2 == (undefined **)0x0)" ( (binary_expression "param_2 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\nLAB_000ff6d0:\n      puVar3 = (undefined *)0x0;\n      param_3 = unaff_s4;\n    }" { (labeled_statement "LAB_000ff6d0:\n      puVar3 = (undefined *)0x0;" statement_identifier : (expression_statement "puVar3 = (undefined *)0x0;" (assignment_expression "puVar3 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "param_3 = unaff_s4;" (assignment_expression "param_3 = unaff_s4" identifier = identifier) ;) }) (else_clause "else {\n      unaff_s3 = *(undefined4 *)(param_1 + 0x14);\n      ppuVar5 = (undefined **)0x1;\n      puVar8 = *(undefined **)(param_1 + 0x1c);\n      iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = param_3;\n      if (iVar2 == 0) goto LAB_000ff6d0;\n      unaff_s5 = *(undefined **)(param_1 + 8);\n      unaff_s6 = *(undefined **)(param_1 + 0x10);\n      local_44 = 0;\n      local_48 = 0;\n      iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))) {\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }\nLAB_000ff780:\n      param_4 = (undefined *)0x0;\n      local_2c = (undefined *)0x1;\n      local_28 = &local_48;\n      ppuVar5 = &local_3c;\n      local_3c = param_1;\n      local_38 = param_2;\n      local_34 = param_3;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      puVar3 = local_2c;\n    }" else (compound_statement "{\n      unaff_s3 = *(undefined4 *)(param_1 + 0x14);\n      ppuVar5 = (undefined **)0x1;\n      puVar8 = *(undefined **)(param_1 + 0x1c);\n      iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = param_3;\n      if (iVar2 == 0) goto LAB_000ff6d0;\n      unaff_s5 = *(undefined **)(param_1 + 8);\n      unaff_s6 = *(undefined **)(param_1 + 0x10);\n      local_44 = 0;\n      local_48 = 0;\n      iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))) {\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }\nLAB_000ff780:\n      param_4 = (undefined *)0x0;\n      local_2c = (undefined *)0x1;\n      local_28 = &local_48;\n      ppuVar5 = &local_3c;\n      local_3c = param_1;\n      local_38 = param_2;\n      local_34 = param_3;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      puVar3 = local_2c;\n    }" { (expression_statement "unaff_s3 = *(undefined4 *)(param_1 + 0x14);" (assignment_expression "unaff_s3 = *(undefined4 *)(param_1 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x14)" * (cast_expression "(undefined4 *)(param_1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "ppuVar5 = (undefined **)0x1;" (assignment_expression "ppuVar5 = (undefined **)0x1" identifier = (cast_expression "(undefined **)0x1" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "puVar8 = *(undefined **)(param_1 + 0x1c);" (assignment_expression "puVar8 = *(undefined **)(param_1 + 0x1c)" identifier = (pointer_expression "*(undefined **)(param_1 + 0x1c)" * (cast_expression "(undefined **)(param_1 + 0x1c)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);" (assignment_expression "iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3)" identifier = (call_expression "(*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3)" (parenthesized_expression "(*(code *)PTR_SetImageStorageClass_003a9824)" ( (pointer_expression "*(code *)PTR_SetImageStorageClass_003a9824" * (cast_expression "(code *)PTR_SetImageStorageClass_003a9824" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s3)" ( identifier )))) ;) (expression_statement "unaff_s4 = param_3;" (assignment_expression "unaff_s4 = param_3" identifier = identifier) ;) (if_statement "if (iVar2 == 0) goto LAB_000ff6d0;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000ff6d0;" goto statement_identifier ;)) (expression_statement "unaff_s5 = *(undefined **)(param_1 + 8);" (assignment_expression "unaff_s5 = *(undefined **)(param_1 + 8)" identifier = (pointer_expression "*(undefined **)(param_1 + 8)" * (cast_expression "(undefined **)(param_1 + 8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "unaff_s6 = *(undefined **)(param_1 + 0x10);" (assignment_expression "unaff_s6 = *(undefined **)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined **)(param_1 + 0x10)" * (cast_expression "(undefined **)(param_1 + 0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (expression_statement "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);" (assignment_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" (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 "(unaff_s3)" ( identifier )))) ;) (if_statement "if (((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))) {\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }" if (parenthesized_expression "(((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3))))" ( (binary_expression "((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))" (parenthesized_expression "((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3))" ( (binary_expression "(iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)" (parenthesized_expression "(iVar2 == 4)" ( (binary_expression "iVar2 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)" ( (comma_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3" (assignment_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" (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 "(unaff_s3)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))" ( (parenthesized_expression "(iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3))" ( (comma_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)" (assignment_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" (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 "(unaff_s3)" ( identifier )))) , (binary_expression "iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)" (binary_expression "iVar2 == 4" identifier == number_literal) || (parenthesized_expression "(iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)" ( (comma_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3" (assignment_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" (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 "(unaff_s3)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }" { (expression_statement "iVar13 = (int)unaff_s5 - (int)unaff_s6;" (assignment_expression "iVar13 = (int)unaff_s5 - (int)unaff_s6" identifier = (binary_expression "(int)unaff_s5 - (int)unaff_s6" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (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 "iVar2 = iVar13;" (assignment_expression "iVar2 = iVar13" identifier = identifier) ;) (if_statement "if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }" if (parenthesized_expression "(iVar13 < 0)" ( (binary_expression "iVar13 < 0" identifier < number_literal) )) (compound_statement "{\n          iVar2 = iVar13 + 0x3f;\n        }" { (expression_statement "iVar2 = iVar13 + 0x3f;" (assignment_expression "iVar2 = iVar13 + 0x3f" identifier = (binary_expression "iVar13 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "unaff_s6 = (undefined *)(iVar2 >> 6);" (assignment_expression "unaff_s6 = (undefined *)(iVar2 >> 6)" identifier = (cast_expression "(undefined *)(iVar2 >> 6)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 >> 6)" ( (binary_expression "iVar2 >> 6" identifier >> number_literal) )))) ;) (if_statement "if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }" if (parenthesized_expression "(extraout_v1 < (int)unaff_s6)" ( (binary_expression "extraout_v1 < (int)unaff_s6" identifier < (cast_expression "(int)unaff_s6" ( (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 = iVar13 < 0x80;\n        }" else (compound_statement "{\n          bVar1 = iVar13 < 0x80;\n        }" { (expression_statement "bVar1 = iVar13 < 0x80;" (assignment_expression "bVar1 = iVar13 < 0x80" identifier = (binary_expression "iVar13 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "unaff_s5 = (undefined *)(bVar1 ^ 1);" (assignment_expression "unaff_s5 = (undefined *)(bVar1 ^ 1)" identifier = (cast_expression "(undefined *)(bVar1 ^ 1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(bVar1 ^ 1)" ( (binary_expression "bVar1 ^ 1" identifier ^ number_literal) )))) ;) (expression_statement "puVar8 = (undefined *)0x1;" (assignment_expression "puVar8 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }" if (parenthesized_expression "((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6))" ( (binary_expression "(unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)" (parenthesized_expression "(unaff_s5 != (undefined *)0x0)" ( (binary_expression "unaff_s5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)" ( (comma_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6" (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 "puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6" (assignment_expression "puVar8 = unaff_s6" identifier = identifier) , (binary_expression "extraout_v1_01 < (int)unaff_s6" identifier < (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)))) ))) )) (compound_statement "{\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = 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 "puVar8 = extraout_v1_03;" (assignment_expression "puVar8 = extraout_v1_03" identifier = identifier) ;) (expression_statement "unaff_s6 = extraout_v1_03;" (assignment_expression "unaff_s6 = extraout_v1_03" identifier = identifier) ;) })) }) (else_clause "else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }" else (compound_statement "{\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }" { (expression_statement "uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar21 = (*(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)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }" if (parenthesized_expression "(((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2))" ( (binary_expression "((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)" (parenthesized_expression "((int)((ulonglong)uVar21 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar21 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar21 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar21 >> 0x20)" ( (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar21 < 2)" ( (binary_expression "(uint)uVar21 < 2" (cast_expression "(uint)uVar21" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }" { (expression_statement "uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar21 = (*(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)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }" if (parenthesized_expression "(((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2))" ( (binary_expression "((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)" (parenthesized_expression "((int)((ulonglong)uVar21 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar21 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar21 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar21 >> 0x20)" ( (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar21 < 2)" ( (binary_expression "(uint)uVar21 < 2" (cast_expression "(uint)uVar21" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }" { (expression_statement "puVar8 = (undefined *)0x1;" (assignment_expression "puVar8 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000ff780;" goto statement_identifier ;) })) })) (expression_statement "uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar21 = (*(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)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }" if (parenthesized_expression "(((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2))" ( (binary_expression "((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)" (parenthesized_expression "((int)((ulonglong)uVar21 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar21 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar21 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar21 >> 0x20)" ( (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar21 < 2)" ( (binary_expression "(uint)uVar21 < 2" (cast_expression "(uint)uVar21" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = 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 "puVar8 = extraout_v1_00;" (assignment_expression "puVar8 = extraout_v1_00" identifier = identifier) ;) }) (else_clause "else {\n          puVar8 = (undefined *)0x2;\n        }" else (compound_statement "{\n          puVar8 = (undefined *)0x2;\n        }" { (expression_statement "puVar8 = (undefined *)0x2;" (assignment_expression "puVar8 = (undefined *)0x2" identifier = (cast_expression "(undefined *)0x2" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }))) (labeled_statement "LAB_000ff780:\n      param_4 = (undefined *)0x0;" statement_identifier : (expression_statement "param_4 = (undefined *)0x0;" (assignment_expression "param_4 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "local_2c = (undefined *)0x1;" (assignment_expression "local_2c = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_28 = &local_48;" (assignment_expression "local_28 = &local_48" identifier = (pointer_expression "&local_48" & identifier)) ;) (expression_statement "ppuVar5 = &local_3c;" (assignment_expression "ppuVar5 = &local_3c" identifier = (pointer_expression "&local_3c" & identifier)) ;) (expression_statement "local_3c = param_1;" (assignment_expression "local_3c = param_1" identifier = identifier) ;) (expression_statement "local_38 = param_2;" (assignment_expression "local_38 = param_2" identifier = identifier) ;) (expression_statement "local_34 = param_3;" (assignment_expression "local_34 = param_3" identifier = identifier) ;) (expression_statement "local_30 = unaff_s3;" (assignment_expression "local_30 = unaff_s3" identifier = identifier) ;) (expression_statement "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);" (call_expression "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0)" (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_003a8a94 + -0x20c0)" ( (binary_expression "PTR_LAB_003a8a94 + -0x20c0" identifier + number_literal) ))) ;) (expression_statement "puVar3 = local_2c;" (assignment_expression "puVar3 = local_2c" identifier = identifier) ;) }))) (expression_statement "puVar10 = local_24;" (assignment_expression "puVar10 = local_24" identifier = identifier) ;) (expression_statement "unaff_s2 = param_2;" (assignment_expression "unaff_s2 = param_2" identifier = identifier) ;) (expression_statement "unaff_s4 = param_3;" (assignment_expression "unaff_s4 = param_3" identifier = identifier) ;) (if_statement "if (local_24 == *(undefined **)puVar9) {\n      return puVar3;\n    }" if (parenthesized_expression "(local_24 == *(undefined **)puVar9)" ( (binary_expression "local_24 == *(undefined **)puVar9" identifier == (pointer_expression "*(undefined **)puVar9" * (cast_expression "(undefined **)puVar9" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n      return puVar3;\n    }" { (return_statement "return puVar3;" return identifier ;) })) }))) (expression_statement "puVar3 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar3 = 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 "puStack_b8 = puVar3 + 0x2b0f7c;" (assignment_expression "puStack_b8 = puVar3 + 0x2b0f7c" identifier = (binary_expression "puVar3 + 0x2b0f7c" identifier + number_literal)) ;) (expression_statement "puStack_84 = puVar9;" (assignment_expression "puStack_84 = puVar9" identifier = identifier) ;) (expression_statement "piVar14 = *(int **)(puVar3 + 0x2a98fc);" (assignment_expression "piVar14 = *(int **)(puVar3 + 0x2a98fc)" identifier = (pointer_expression "*(int **)(puVar3 + 0x2a98fc)" * (cast_expression "(int **)(puVar3 + 0x2a98fc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar3 + 0x2a98fc)" ( (binary_expression "puVar3 + 0x2a98fc" identifier + number_literal) ))))) ;) (expression_statement "puStack_8c = (undefined *)*piVar14;" (assignment_expression "puStack_8c = (undefined *)*piVar14" identifier = (cast_expression "(undefined *)*piVar14" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar14" * identifier))) ;) (expression_statement "puStack_88 = unaff_s0;" (assignment_expression "puStack_88 = unaff_s0" identifier = identifier) ;) (expression_statement "ppuStack_80 = unaff_s2;" (assignment_expression "ppuStack_80 = unaff_s2" identifier = identifier) ;) (expression_statement "uStack_7c = unaff_s3;" (assignment_expression "uStack_7c = unaff_s3" identifier = identifier) ;) (expression_statement "puStack_78 = unaff_s4;" (assignment_expression "puStack_78 = unaff_s4" identifier = identifier) ;) (expression_statement "puStack_74 = unaff_s5;" (assignment_expression "puStack_74 = unaff_s5" identifier = identifier) ;) (expression_statement "puStack_70 = unaff_s6;" (assignment_expression "puStack_70 = unaff_s6" identifier = identifier) ;) (if_statement "if (puVar10 == (undefined *)0x0) {\n    puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb0) + -0x50fc,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fa,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);\n    return puVar9;\n  }" if (parenthesized_expression "(puVar10 == (undefined *)0x0)" ( (binary_expression "puVar10 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb0) + -0x50fc,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fa,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);\n    return puVar9;\n  }" { (expression_statement "puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb0) + -0x50fc,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fa,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);" (assignment_expression "puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb0) + -0x50fc,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fa,*(int *)(puVar3 + 0x2a8fb0) + -0x5008)" identifier = (cast_expression "(undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb0) + -0x50fc,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fa,*(int *)(puVar3 + 0x2a8fb0) + -0x5008)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb0) + -0x50fc,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fa,*(int *)(puVar3 + 0x2a8fb0) + -0x5008)" (parenthesized_expression "(**(code **)(puVar3 + 0x2a9cd4))" ( (pointer_expression "**(code **)(puVar3 + 0x2a9cd4)" * (pointer_expression "*(code **)(puVar3 + 0x2a9cd4)" * (cast_expression "(code **)(puVar3 + 0x2a9cd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar3 + 0x2a9cd4)" ( (binary_expression "puVar3 + 0x2a9cd4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar3 + 0x2a8fb0) + -0x50fc,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fa,*(int *)(puVar3 + 0x2a8fb0) + -0x5008)" ( (binary_expression "*(int *)(puVar3 + 0x2a8fb0) + -0x50fc" (pointer_expression "*(int *)(puVar3 + 0x2a8fb0)" * (cast_expression "(int *)(puVar3 + 0x2a8fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x2a8fb0)" ( (binary_expression "puVar3 + 0x2a8fb0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar3 + 0x2a8fb0) + -0x5168" (pointer_expression "*(int *)(puVar3 + 0x2a8fb0)" * (cast_expression "(int *)(puVar3 + 0x2a8fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x2a8fb0)" ( (binary_expression "puVar3 + 0x2a8fb0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar3 + 0x2a8fb0) + -0x5008" (pointer_expression "*(int *)(puVar3 + 0x2a8fb0)" * (cast_expression "(int *)(puVar3 + 0x2a8fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x2a8fb0)" ( (binary_expression "puVar3 + 0x2a8fb0" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return puVar9;" return identifier ;) })) (if_statement "if (*(int *)(puVar10 + 0x24) != -0x54535255) {\n    puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb4) + 0x3930,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fb,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);\n    return puVar9;\n  }" if (parenthesized_expression "(*(int *)(puVar10 + 0x24) != -0x54535255)" ( (binary_expression "*(int *)(puVar10 + 0x24) != -0x54535255" (pointer_expression "*(int *)(puVar10 + 0x24)" * (cast_expression "(int *)(puVar10 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x24)" ( (binary_expression "puVar10 + 0x24" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb4) + 0x3930,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fb,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);\n    return puVar9;\n  }" { (expression_statement "puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb4) + 0x3930,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fb,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);" (assignment_expression "puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb4) + 0x3930,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fb,*(int *)(puVar3 + 0x2a8fb0) + -0x5008)" identifier = (cast_expression "(undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb4) + 0x3930,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fb,*(int *)(puVar3 + 0x2a8fb0) + -0x5008)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb4) + 0x3930,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fb,*(int *)(puVar3 + 0x2a8fb0) + -0x5008)" (parenthesized_expression "(**(code **)(puVar3 + 0x2a9cd4))" ( (pointer_expression "**(code **)(puVar3 + 0x2a9cd4)" * (pointer_expression "*(code **)(puVar3 + 0x2a9cd4)" * (cast_expression "(code **)(puVar3 + 0x2a9cd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar3 + 0x2a9cd4)" ( (binary_expression "puVar3 + 0x2a9cd4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar3 + 0x2a8fb4) + 0x3930,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fb,*(int *)(puVar3 + 0x2a8fb0) + -0x5008)" ( (binary_expression "*(int *)(puVar3 + 0x2a8fb4) + 0x3930" (pointer_expression "*(int *)(puVar3 + 0x2a8fb4)" * (cast_expression "(int *)(puVar3 + 0x2a8fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x2a8fb4)" ( (binary_expression "puVar3 + 0x2a8fb4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar3 + 0x2a8fb0) + -0x5168" (pointer_expression "*(int *)(puVar3 + 0x2a8fb0)" * (cast_expression "(int *)(puVar3 + 0x2a8fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x2a8fb0)" ( (binary_expression "puVar3 + 0x2a8fb0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar3 + 0x2a8fb0) + -0x5008" (pointer_expression "*(int *)(puVar3 + 0x2a8fb0)" * (cast_expression "(int *)(puVar3 + 0x2a8fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x2a8fb0)" ( (binary_expression "puVar3 + 0x2a8fb0" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return puVar9;" return identifier ;) })) (expression_statement "ppuVar6 = ppuVar5;" (assignment_expression "ppuVar6 = ppuVar5" identifier = identifier) ;) (expression_statement "puVar9 = puVar8;" (assignment_expression "puVar9 = puVar8" identifier = identifier) ;) (expression_statement "puVar18 = unaff_s6;" (assignment_expression "puVar18 = unaff_s6" identifier = identifier) ;) (if_statement "if (puVar8 == (undefined *)0x0) {\nLAB_000ff9c8:\n    puVar3 = (undefined *)0x0;\n    ppuVar5 = unaff_s2;\n    param_4 = unaff_s4;\n  }\n  else {\n    puVar17 = ppuVar5[5];\n    ppuVar6 = (undefined **)0x1;\n    puVar9 = ppuVar5[7];\n    puVar18 = *(undefined **)(puVar10 + 0x14);\n    iVar2 = (**(code **)(puVar3 + 0x2a9ef0))(puVar17);\n    unaff_s2 = ppuVar5;\n    unaff_s4 = param_4;\n    unaff_s5 = puVar17;\n    if (iVar2 == 0) goto LAB_000ff9c8;\n    iVar13 = *(int *)(puVar10 + 8);\n    iVar4 = *(int *)(puVar10 + 0x10);\n    uStack_ac = 0;\n    uStack_b0 = 0;\n    iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18);\n    if (((iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)) &&\n       ((iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)))) {\n      iVar13 = iVar13 - iVar4;\n      (**(code **)(puStack_b8 + -0x7774))(7);\n      iVar2 = iVar13;\n      if (iVar13 < 0) {\n        iVar2 = iVar13 + 0x3f;\n      }\n      unaff_s5 = (undefined *)(iVar2 >> 6);\n      if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar13 < 0x80;\n      }\n      puVar9 = (undefined *)0x1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        puVar17 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n    }\n    else {\n      uVar21 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar21 = (*pcVar19)(7);\n      if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (undefined *)0x2;\n      }\nLAB_000ffa7c:\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n      puVar9 = unaff_s5;\n      unaff_s5 = puVar17;\n    }\n    puStack_94 = (undefined *)0x1;\n    puStack_90 = &uStack_b0;\n    ppuVar6 = &puStack_a8;\n    puStack_a8 = puVar10;\n    ppuStack_a4 = ppuVar5;\n    puStack_a0 = puVar8;\n    puStack_9c = param_4;\n    puStack_98 = puVar18;\n    (**(code **)(puStack_b8 + -0x7718))(iVar2 + -0x1ecc,ppuVar6,puVar9,0);\n    puVar3 = puStack_94;\n  }" if (parenthesized_expression "(puVar8 == (undefined *)0x0)" ( (binary_expression "puVar8 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000ff9c8:\n    puVar3 = (undefined *)0x0;\n    ppuVar5 = unaff_s2;\n    param_4 = unaff_s4;\n  }" { (labeled_statement "LAB_000ff9c8:\n    puVar3 = (undefined *)0x0;" statement_identifier : (expression_statement "puVar3 = (undefined *)0x0;" (assignment_expression "puVar3 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "ppuVar5 = unaff_s2;" (assignment_expression "ppuVar5 = unaff_s2" identifier = identifier) ;) (expression_statement "param_4 = unaff_s4;" (assignment_expression "param_4 = unaff_s4" identifier = identifier) ;) }) (else_clause "else {\n    puVar17 = ppuVar5[5];\n    ppuVar6 = (undefined **)0x1;\n    puVar9 = ppuVar5[7];\n    puVar18 = *(undefined **)(puVar10 + 0x14);\n    iVar2 = (**(code **)(puVar3 + 0x2a9ef0))(puVar17);\n    unaff_s2 = ppuVar5;\n    unaff_s4 = param_4;\n    unaff_s5 = puVar17;\n    if (iVar2 == 0) goto LAB_000ff9c8;\n    iVar13 = *(int *)(puVar10 + 8);\n    iVar4 = *(int *)(puVar10 + 0x10);\n    uStack_ac = 0;\n    uStack_b0 = 0;\n    iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18);\n    if (((iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)) &&\n       ((iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)))) {\n      iVar13 = iVar13 - iVar4;\n      (**(code **)(puStack_b8 + -0x7774))(7);\n      iVar2 = iVar13;\n      if (iVar13 < 0) {\n        iVar2 = iVar13 + 0x3f;\n      }\n      unaff_s5 = (undefined *)(iVar2 >> 6);\n      if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar13 < 0x80;\n      }\n      puVar9 = (undefined *)0x1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        puVar17 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n    }\n    else {\n      uVar21 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar21 = (*pcVar19)(7);\n      if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (undefined *)0x2;\n      }\nLAB_000ffa7c:\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n      puVar9 = unaff_s5;\n      unaff_s5 = puVar17;\n    }\n    puStack_94 = (undefined *)0x1;\n    puStack_90 = &uStack_b0;\n    ppuVar6 = &puStack_a8;\n    puStack_a8 = puVar10;\n    ppuStack_a4 = ppuVar5;\n    puStack_a0 = puVar8;\n    puStack_9c = param_4;\n    puStack_98 = puVar18;\n    (**(code **)(puStack_b8 + -0x7718))(iVar2 + -0x1ecc,ppuVar6,puVar9,0);\n    puVar3 = puStack_94;\n  }" else (compound_statement "{\n    puVar17 = ppuVar5[5];\n    ppuVar6 = (undefined **)0x1;\n    puVar9 = ppuVar5[7];\n    puVar18 = *(undefined **)(puVar10 + 0x14);\n    iVar2 = (**(code **)(puVar3 + 0x2a9ef0))(puVar17);\n    unaff_s2 = ppuVar5;\n    unaff_s4 = param_4;\n    unaff_s5 = puVar17;\n    if (iVar2 == 0) goto LAB_000ff9c8;\n    iVar13 = *(int *)(puVar10 + 8);\n    iVar4 = *(int *)(puVar10 + 0x10);\n    uStack_ac = 0;\n    uStack_b0 = 0;\n    iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18);\n    if (((iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)) &&\n       ((iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)))) {\n      iVar13 = iVar13 - iVar4;\n      (**(code **)(puStack_b8 + -0x7774))(7);\n      iVar2 = iVar13;\n      if (iVar13 < 0) {\n        iVar2 = iVar13 + 0x3f;\n      }\n      unaff_s5 = (undefined *)(iVar2 >> 6);\n      if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar13 < 0x80;\n      }\n      puVar9 = (undefined *)0x1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        puVar17 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n    }\n    else {\n      uVar21 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar21 = (*pcVar19)(7);\n      if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (undefined *)0x2;\n      }\nLAB_000ffa7c:\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n      puVar9 = unaff_s5;\n      unaff_s5 = puVar17;\n    }\n    puStack_94 = (undefined *)0x1;\n    puStack_90 = &uStack_b0;\n    ppuVar6 = &puStack_a8;\n    puStack_a8 = puVar10;\n    ppuStack_a4 = ppuVar5;\n    puStack_a0 = puVar8;\n    puStack_9c = param_4;\n    puStack_98 = puVar18;\n    (**(code **)(puStack_b8 + -0x7718))(iVar2 + -0x1ecc,ppuVar6,puVar9,0);\n    puVar3 = puStack_94;\n  }" { (expression_statement "puVar17 = ppuVar5[5];" (assignment_expression "puVar17 = ppuVar5[5]" identifier = (subscript_expression "ppuVar5[5]" identifier [ number_literal ])) ;) (expression_statement "ppuVar6 = (undefined **)0x1;" (assignment_expression "ppuVar6 = (undefined **)0x1" identifier = (cast_expression "(undefined **)0x1" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "puVar9 = ppuVar5[7];" (assignment_expression "puVar9 = ppuVar5[7]" identifier = (subscript_expression "ppuVar5[7]" identifier [ number_literal ])) ;) (expression_statement "puVar18 = *(undefined **)(puVar10 + 0x14);" (assignment_expression "puVar18 = *(undefined **)(puVar10 + 0x14)" identifier = (pointer_expression "*(undefined **)(puVar10 + 0x14)" * (cast_expression "(undefined **)(puVar10 + 0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = (**(code **)(puVar3 + 0x2a9ef0))(puVar17);" (assignment_expression "iVar2 = (**(code **)(puVar3 + 0x2a9ef0))(puVar17)" identifier = (call_expression "(**(code **)(puVar3 + 0x2a9ef0))(puVar17)" (parenthesized_expression "(**(code **)(puVar3 + 0x2a9ef0))" ( (pointer_expression "**(code **)(puVar3 + 0x2a9ef0)" * (pointer_expression "*(code **)(puVar3 + 0x2a9ef0)" * (cast_expression "(code **)(puVar3 + 0x2a9ef0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar3 + 0x2a9ef0)" ( (binary_expression "puVar3 + 0x2a9ef0" identifier + number_literal) ))))) )) (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "unaff_s2 = ppuVar5;" (assignment_expression "unaff_s2 = ppuVar5" identifier = identifier) ;) (expression_statement "unaff_s4 = param_4;" (assignment_expression "unaff_s4 = param_4" identifier = identifier) ;) (expression_statement "unaff_s5 = puVar17;" (assignment_expression "unaff_s5 = puVar17" identifier = identifier) ;) (if_statement "if (iVar2 == 0) goto LAB_000ff9c8;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000ff9c8;" goto statement_identifier ;)) (expression_statement "iVar13 = *(int *)(puVar10 + 8);" (assignment_expression "iVar13 = *(int *)(puVar10 + 8)" identifier = (pointer_expression "*(int *)(puVar10 + 8)" * (cast_expression "(int *)(puVar10 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 8)" ( (binary_expression "puVar10 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(puVar10 + 0x10);" (assignment_expression "iVar4 = *(int *)(puVar10 + 0x10)" identifier = (pointer_expression "*(int *)(puVar10 + 0x10)" * (cast_expression "(int *)(puVar10 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x10)" ( (binary_expression "puVar10 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uStack_ac = 0;" (assignment_expression "uStack_ac = 0" identifier = number_literal) ;) (expression_statement "uStack_b0 = 0;" (assignment_expression "uStack_b0 = 0" identifier = number_literal) ;) (expression_statement "iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18);" (assignment_expression "iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18)" identifier = (call_expression "(**(code **)(puStack_b8 + -0x73fc))(puVar18)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_b8 + -0x73fc)" * (pointer_expression "*(code **)(puStack_b8 + -0x73fc)" * (cast_expression "(code **)(puStack_b8 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x73fc)" ( (binary_expression "puStack_b8 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(puVar18)" ( identifier )))) ;) (if_statement "if (((iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)) &&\n       ((iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)))) {\n      iVar13 = iVar13 - iVar4;\n      (**(code **)(puStack_b8 + -0x7774))(7);\n      iVar2 = iVar13;\n      if (iVar13 < 0) {\n        iVar2 = iVar13 + 0x3f;\n      }\n      unaff_s5 = (undefined *)(iVar2 >> 6);\n      if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar13 < 0x80;\n      }\n      puVar9 = (undefined *)0x1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        puVar17 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n    }\n    else {\n      uVar21 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar21 = (*pcVar19)(7);\n      if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (undefined *)0x2;\n      }\nLAB_000ffa7c:\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n      puVar9 = unaff_s5;\n      unaff_s5 = puVar17;\n    }" if (parenthesized_expression "(((iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)) &&\n       ((iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3))))" ( (binary_expression "((iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)) &&\n       ((iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)))" (parenthesized_expression "((iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3))" ( (binary_expression "(iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)" (parenthesized_expression "(iVar2 == 4)" ( (binary_expression "iVar2 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)" ( (comma_expression "iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3" (assignment_expression "iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18)" identifier = (call_expression "(**(code **)(puStack_b8 + -0x73fc))(puVar18)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_b8 + -0x73fc)" * (pointer_expression "*(code **)(puStack_b8 + -0x73fc)" * (cast_expression "(code **)(puStack_b8 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x73fc)" ( (binary_expression "puStack_b8 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(puVar18)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)))" ( (parenthesized_expression "(iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3))" ( (comma_expression "iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)" (assignment_expression "iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17)" identifier = (call_expression "(**(code **)(puStack_b8 + -0x73fc))(puVar17)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_b8 + -0x73fc)" * (pointer_expression "*(code **)(puStack_b8 + -0x73fc)" * (cast_expression "(code **)(puStack_b8 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x73fc)" ( (binary_expression "puStack_b8 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(puVar17)" ( identifier )))) , (binary_expression "iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)" (binary_expression "iVar2 == 4" identifier == number_literal) || (parenthesized_expression "(iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)" ( (comma_expression "iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3" (assignment_expression "iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17)" identifier = (call_expression "(**(code **)(puStack_b8 + -0x73fc))(puVar17)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x73fc))" ( (pointer_expression "**(code **)(puStack_b8 + -0x73fc)" * (pointer_expression "*(code **)(puStack_b8 + -0x73fc)" * (cast_expression "(code **)(puStack_b8 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x73fc)" ( (binary_expression "puStack_b8 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(puVar17)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n      iVar13 = iVar13 - iVar4;\n      (**(code **)(puStack_b8 + -0x7774))(7);\n      iVar2 = iVar13;\n      if (iVar13 < 0) {\n        iVar2 = iVar13 + 0x3f;\n      }\n      unaff_s5 = (undefined *)(iVar2 >> 6);\n      if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar13 < 0x80;\n      }\n      puVar9 = (undefined *)0x1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        puVar17 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n    }" { (expression_statement "iVar13 = iVar13 - iVar4;" (assignment_expression "iVar13 = iVar13 - iVar4" identifier = (binary_expression "iVar13 - iVar4" identifier - identifier)) ;) (expression_statement "(**(code **)(puStack_b8 + -0x7774))(7);" (call_expression "(**(code **)(puStack_b8 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x7774))" ( (pointer_expression "**(code **)(puStack_b8 + -0x7774)" * (pointer_expression "*(code **)(puStack_b8 + -0x7774)" * (cast_expression "(code **)(puStack_b8 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x7774)" ( (binary_expression "puStack_b8 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar2 = iVar13;" (assignment_expression "iVar2 = iVar13" identifier = identifier) ;) (if_statement "if (iVar13 < 0) {\n        iVar2 = iVar13 + 0x3f;\n      }" if (parenthesized_expression "(iVar13 < 0)" ( (binary_expression "iVar13 < 0" identifier < number_literal) )) (compound_statement "{\n        iVar2 = iVar13 + 0x3f;\n      }" { (expression_statement "iVar2 = iVar13 + 0x3f;" (assignment_expression "iVar2 = iVar13 + 0x3f" identifier = (binary_expression "iVar13 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "unaff_s5 = (undefined *)(iVar2 >> 6);" (assignment_expression "unaff_s5 = (undefined *)(iVar2 >> 6)" identifier = (cast_expression "(undefined *)(iVar2 >> 6)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 >> 6)" ( (binary_expression "iVar2 >> 6" identifier >> number_literal) )))) ;) (if_statement "if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar13 < 0x80;\n      }" if (parenthesized_expression "(extraout_v1_04 < (int)unaff_s5)" ( (binary_expression "extraout_v1_04 < (int)unaff_s5" identifier < (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }" { (expression_statement "(**(code **)(puStack_b8 + -0x7774))(7);" (call_expression "(**(code **)(puStack_b8 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x7774))" ( (pointer_expression "**(code **)(puStack_b8 + -0x7774)" * (pointer_expression "*(code **)(puStack_b8 + -0x7774)" * (cast_expression "(code **)(puStack_b8 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x7774)" ( (binary_expression "puStack_b8 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_07 < 2;" (assignment_expression "bVar1 = extraout_v1_07 < 2" identifier = (binary_expression "extraout_v1_07 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n        bVar1 = iVar13 < 0x80;\n      }" else (compound_statement "{\n        bVar1 = iVar13 < 0x80;\n      }" { (expression_statement "bVar1 = iVar13 < 0x80;" (assignment_expression "bVar1 = iVar13 < 0x80" identifier = (binary_expression "iVar13 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "puVar9 = (undefined *)0x1;" (assignment_expression "puVar9 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        puVar17 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\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_b8 + -0x7774))(7);\n        puVar17 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }" { (expression_statement "(**(code **)(puStack_b8 + -0x7774))(7);" (call_expression "(**(code **)(puStack_b8 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x7774))" ( (pointer_expression "**(code **)(puStack_b8 + -0x7774)" * (pointer_expression "*(code **)(puStack_b8 + -0x7774)" * (cast_expression "(code **)(puStack_b8 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x7774)" ( (binary_expression "puStack_b8 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "puVar17 = unaff_s5;" (assignment_expression "puVar17 = unaff_s5" identifier = identifier) ;) (if_statement "if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }" if (parenthesized_expression "(extraout_v1_06 < (int)unaff_s5)" ( (binary_expression "extraout_v1_06 < (int)unaff_s5" identifier < (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }" { (expression_statement "(**(code **)(puStack_b8 + -0x7774))(7);" (call_expression "(**(code **)(puStack_b8 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x7774))" ( (pointer_expression "**(code **)(puStack_b8 + -0x7774)" * (pointer_expression "*(code **)(puStack_b8 + -0x7774)" * (cast_expression "(code **)(puStack_b8 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x7774)" ( (binary_expression "puStack_b8 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "unaff_s5 = extraout_v1_08;" (assignment_expression "unaff_s5 = extraout_v1_08" identifier = identifier) ;) (expression_statement "puVar17 = extraout_v1_08;" (assignment_expression "puVar17 = extraout_v1_08" identifier = identifier) ;) })) (goto_statement "goto LAB_000ffa7c;" goto statement_identifier ;) })) (expression_statement "iVar2 = *(int *)(puStack_b8 + -0x7e1c);" (assignment_expression "iVar2 = *(int *)(puStack_b8 + -0x7e1c)" identifier = (pointer_expression "*(int *)(puStack_b8 + -0x7e1c)" * (cast_expression "(int *)(puStack_b8 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_b8 + -0x7e1c)" ( (binary_expression "puStack_b8 + -0x7e1c" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      uVar21 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar21 = (*pcVar19)(7);\n      if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (undefined *)0x2;\n      }\nLAB_000ffa7c:\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n      puVar9 = unaff_s5;\n      unaff_s5 = puVar17;\n    }" else (compound_statement "{\n      uVar21 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar21 = (*pcVar19)(7);\n      if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (undefined *)0x2;\n      }\nLAB_000ffa7c:\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n      puVar9 = unaff_s5;\n      unaff_s5 = puVar17;\n    }" { (expression_statement "uVar21 = (**(code **)(puStack_b8 + -0x7774))(7);" (assignment_expression "uVar21 = (**(code **)(puStack_b8 + -0x7774))(7)" identifier = (call_expression "(**(code **)(puStack_b8 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x7774))" ( (pointer_expression "**(code **)(puStack_b8 + -0x7774)" * (pointer_expression "*(code **)(puStack_b8 + -0x7774)" * (cast_expression "(code **)(puStack_b8 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x7774)" ( (binary_expression "puStack_b8 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }" if (parenthesized_expression "((int)((ulonglong)uVar21 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar21 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar21 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar21 >> 0x20)" ( (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }" { (expression_statement "pcVar19 = *(code **)(puStack_b8 + -0x7774);" (assignment_expression "pcVar19 = *(code **)(puStack_b8 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_b8 + -0x7774)" * (cast_expression "(code **)(puStack_b8 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x7774)" ( (binary_expression "puStack_b8 + -0x7774" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }" if (parenthesized_expression "((uint)uVar21 < 2)" ( (binary_expression "(uint)uVar21 < 2" (cast_expression "(uint)uVar21" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }" { (expression_statement "uVar21 = (*pcVar19)(7);" (assignment_expression "uVar21 = (*pcVar19)(7)" identifier = (call_expression "(*pcVar19)(7)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;" if (parenthesized_expression "((int)((ulonglong)uVar21 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar21 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar21 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar21 >> 0x20)" ( (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_000ffa64;" goto statement_identifier ;)) (expression_statement "pcVar19 = *(code **)(puStack_b8 + -0x7774);" (assignment_expression "pcVar19 = *(code **)(puStack_b8 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_b8 + -0x7774)" * (cast_expression "(code **)(puStack_b8 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x7774)" ( (binary_expression "puStack_b8 + -0x7774" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }" if (parenthesized_expression "((uint)uVar21 < 2)" ( (binary_expression "(uint)uVar21 < 2" (cast_expression "(uint)uVar21" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }" { (expression_statement "unaff_s5 = (undefined *)0x1;" (assignment_expression "unaff_s5 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000ffa7c;" goto statement_identifier ;) })) })) }) (else_clause "else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }" else (compound_statement "{\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }" { (labeled_statement "LAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);" statement_identifier : (expression_statement "pcVar19 = *(code **)(puStack_b8 + -0x7774);" (assignment_expression "pcVar19 = *(code **)(puStack_b8 + -0x7774)" identifier = (pointer_expression "*(code **)(puStack_b8 + -0x7774)" * (cast_expression "(code **)(puStack_b8 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x7774)" ( (binary_expression "puStack_b8 + -0x7774" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar21 = (*pcVar19)(7);" (assignment_expression "uVar21 = (*pcVar19)(7)" identifier = (call_expression "(*pcVar19)(7)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (undefined *)0x2;\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2))" ( (binary_expression "((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)" (parenthesized_expression "((int)((ulonglong)uVar21 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar21 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar21 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar21 >> 0x20)" ( (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar21 < 2)" ( (binary_expression "(uint)uVar21 < 2" (cast_expression "(uint)uVar21" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }" { (expression_statement "(**(code **)(puStack_b8 + -0x7774))(7);" (call_expression "(**(code **)(puStack_b8 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x7774))" ( (pointer_expression "**(code **)(puStack_b8 + -0x7774)" * (pointer_expression "*(code **)(puStack_b8 + -0x7774)" * (cast_expression "(code **)(puStack_b8 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x7774)" ( (binary_expression "puStack_b8 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "unaff_s5 = extraout_v1_05;" (assignment_expression "unaff_s5 = extraout_v1_05" identifier = identifier) ;) }) (else_clause "else {\n        unaff_s5 = (undefined *)0x2;\n      }" else (compound_statement "{\n        unaff_s5 = (undefined *)0x2;\n      }" { (expression_statement "unaff_s5 = (undefined *)0x2;" (assignment_expression "unaff_s5 = (undefined *)0x2" identifier = (cast_expression "(undefined *)0x2" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (labeled_statement "LAB_000ffa7c:\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);" statement_identifier : (expression_statement "iVar2 = *(int *)(puStack_b8 + -0x7e1c);" (assignment_expression "iVar2 = *(int *)(puStack_b8 + -0x7e1c)" identifier = (pointer_expression "*(int *)(puStack_b8 + -0x7e1c)" * (cast_expression "(int *)(puStack_b8 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_b8 + -0x7e1c)" ( (binary_expression "puStack_b8 + -0x7e1c" identifier + number_literal) ))))) ;)) (expression_statement "puVar9 = unaff_s5;" (assignment_expression "puVar9 = unaff_s5" identifier = identifier) ;) (expression_statement "unaff_s5 = puVar17;" (assignment_expression "unaff_s5 = puVar17" identifier = identifier) ;) }))) (expression_statement "puStack_94 = (undefined *)0x1;" (assignment_expression "puStack_94 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puStack_90 = &uStack_b0;" (assignment_expression "puStack_90 = &uStack_b0" identifier = (pointer_expression "&uStack_b0" & identifier)) ;) (expression_statement "ppuVar6 = &puStack_a8;" (assignment_expression "ppuVar6 = &puStack_a8" identifier = (pointer_expression "&puStack_a8" & identifier)) ;) (expression_statement "puStack_a8 = puVar10;" (assignment_expression "puStack_a8 = puVar10" identifier = identifier) ;) (expression_statement "ppuStack_a4 = ppuVar5;" (assignment_expression "ppuStack_a4 = ppuVar5" identifier = identifier) ;) (expression_statement "puStack_a0 = puVar8;" (assignment_expression "puStack_a0 = puVar8" identifier = identifier) ;) (expression_statement "puStack_9c = param_4;" (assignment_expression "puStack_9c = param_4" identifier = identifier) ;) (expression_statement "puStack_98 = puVar18;" (assignment_expression "puStack_98 = puVar18" identifier = identifier) ;) (expression_statement "(**(code **)(puStack_b8 + -0x7718))(iVar2 + -0x1ecc,ppuVar6,puVar9,0);" (call_expression "(**(code **)(puStack_b8 + -0x7718))(iVar2 + -0x1ecc,ppuVar6,puVar9,0)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x7718))" ( (pointer_expression "**(code **)(puStack_b8 + -0x7718)" * (pointer_expression "*(code **)(puStack_b8 + -0x7718)" * (cast_expression "(code **)(puStack_b8 + -0x7718)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x7718)" ( (binary_expression "puStack_b8 + -0x7718" identifier + number_literal) ))))) )) (argument_list "(iVar2 + -0x1ecc,ppuVar6,puVar9,0)" ( (binary_expression "iVar2 + -0x1ecc" identifier + number_literal) , identifier , identifier , number_literal ))) ;) (expression_statement "puVar3 = puStack_94;" (assignment_expression "puVar3 = puStack_94" identifier = identifier) ;) }))) (if_statement "if (puStack_8c == (undefined *)*piVar14) {\n    return puVar3;\n  }" if (parenthesized_expression "(puStack_8c == (undefined *)*piVar14)" ( (binary_expression "puStack_8c == (undefined *)*piVar14" identifier == (cast_expression "(undefined *)*piVar14" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar14" * identifier))) )) (compound_statement "{\n    return puVar3;\n  }" { (return_statement "return puVar3;" return identifier ;) })) (expression_statement "pcVar19 = *(code **)(puStack_b8 + -0x784c);" (assignment_expression "pcVar19 = *(code **)(puStack_b8 + -0x784c)" identifier = (pointer_expression "*(code **)(puStack_b8 + -0x784c)" * (cast_expression "(code **)(puStack_b8 + -0x784c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b8 + -0x784c)" ( (binary_expression "puStack_b8 + -0x784c" identifier + number_literal) ))))) ;) (expression_statement "pcVar20 = UpdateImageViewIterator;" (assignment_expression "pcVar20 = UpdateImageViewIterator" identifier = identifier) ;) (expression_statement "puVar3 = puStack_8c;" (assignment_expression "puVar3 = puStack_8c" identifier = identifier) ;) (expression_statement "(*pcVar19)();" (call_expression "(*pcVar19)()" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar15 = *(int **)(pcVar19 + 0x2a95f8);" (assignment_expression "piVar15 = *(int **)(pcVar19 + 0x2a95f8)" identifier = (pointer_expression "*(int **)(pcVar19 + 0x2a95f8)" * (cast_expression "(int **)(pcVar19 + 0x2a95f8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a95f8)" ( (binary_expression "pcVar19 + 0x2a95f8" identifier + number_literal) ))))) ;) (expression_statement "iStack_ec = *piVar15;" (assignment_expression "iStack_ec = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "puStack_e8 = puVar10;" (assignment_expression "puStack_e8 = puVar10" identifier = identifier) ;) (expression_statement "piStack_e4 = piVar14;" (assignment_expression "piStack_e4 = piVar14" identifier = identifier) ;) (expression_statement "ppuStack_e0 = ppuVar5;" (assignment_expression "ppuStack_e0 = ppuVar5" identifier = identifier) ;) (expression_statement "puStack_dc = puVar8;" (assignment_expression "puStack_dc = puVar8" identifier = identifier) ;) (expression_statement "puStack_d8 = param_4;" (assignment_expression "puStack_d8 = param_4" identifier = identifier) ;) (expression_statement "puStack_d4 = unaff_s5;" (assignment_expression "puStack_d4 = unaff_s5" identifier = identifier) ;) (expression_statement "puStack_d0 = puVar18;" (assignment_expression "puStack_d0 = puVar18" identifier = identifier) ;) (expression_statement "pcStack_cc = pcVar20;" (assignment_expression "pcStack_cc = pcVar20" identifier = identifier) ;) (if_statement "if (puVar3 != (undefined *)0x0) {\n    if (*(int *)(puVar3 + 0x24) == -0x54535255) {\n      ppuVar5 = ppuVar6;\n      puVar10 = puVar9;\n      if (ppuVar6 == (undefined **)0x0) {\nLAB_000ffcbc:\n        puVar9 = (undefined *)0x0;\n      }\n      else {\n        uVar16 = *(undefined4 *)(puVar3 + 0x14);\n        ppuVar5 = (undefined **)0x1;\n        puVar10 = *(undefined **)(puVar3 + 0x1c);\n        iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);\n        if (iVar2 == 0) goto LAB_000ffcbc;\n        iVar13 = *(int *)(puVar3 + 8);\n        iVar4 = *(int *)(puVar3 + 0x10);\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);\n        if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }\n        puStack_f4 = (undefined *)0x1;\n        puStack_f0 = &uStack_110;\n        ppuVar5 = &puStack_104;\n        puStack_104 = puVar3;\n        ppuStack_100 = ppuVar6;\n        puStack_fc = puVar9;\n        uStack_f8 = uVar16;\n        (**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);\n        puVar9 = puStack_f4;\n      }\n      iVar2 = iStack_ec;\n      if (iStack_ec == *piVar15) {\n        return puVar9;\n      }\n      goto LAB_000fff14;\n    }\n    (**(code **)(pcVar19 + 0x2a99d0))\n              (*(int *)(pcVar19 + 0x2a8cb0) + 0x3930,*(int *)(pcVar19 + 0x2a8cac) + -0x5168,0x481,\n               *(int *)(pcVar19 + 0x2a8cac) + -0x5020);\n  }" if (parenthesized_expression "(puVar3 != (undefined *)0x0)" ( (binary_expression "puVar3 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (*(int *)(puVar3 + 0x24) == -0x54535255) {\n      ppuVar5 = ppuVar6;\n      puVar10 = puVar9;\n      if (ppuVar6 == (undefined **)0x0) {\nLAB_000ffcbc:\n        puVar9 = (undefined *)0x0;\n      }\n      else {\n        uVar16 = *(undefined4 *)(puVar3 + 0x14);\n        ppuVar5 = (undefined **)0x1;\n        puVar10 = *(undefined **)(puVar3 + 0x1c);\n        iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);\n        if (iVar2 == 0) goto LAB_000ffcbc;\n        iVar13 = *(int *)(puVar3 + 8);\n        iVar4 = *(int *)(puVar3 + 0x10);\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);\n        if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }\n        puStack_f4 = (undefined *)0x1;\n        puStack_f0 = &uStack_110;\n        ppuVar5 = &puStack_104;\n        puStack_104 = puVar3;\n        ppuStack_100 = ppuVar6;\n        puStack_fc = puVar9;\n        uStack_f8 = uVar16;\n        (**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);\n        puVar9 = puStack_f4;\n      }\n      iVar2 = iStack_ec;\n      if (iStack_ec == *piVar15) {\n        return puVar9;\n      }\n      goto LAB_000fff14;\n    }\n    (**(code **)(pcVar19 + 0x2a99d0))\n              (*(int *)(pcVar19 + 0x2a8cb0) + 0x3930,*(int *)(pcVar19 + 0x2a8cac) + -0x5168,0x481,\n               *(int *)(pcVar19 + 0x2a8cac) + -0x5020);\n  }" { (if_statement "if (*(int *)(puVar3 + 0x24) == -0x54535255) {\n      ppuVar5 = ppuVar6;\n      puVar10 = puVar9;\n      if (ppuVar6 == (undefined **)0x0) {\nLAB_000ffcbc:\n        puVar9 = (undefined *)0x0;\n      }\n      else {\n        uVar16 = *(undefined4 *)(puVar3 + 0x14);\n        ppuVar5 = (undefined **)0x1;\n        puVar10 = *(undefined **)(puVar3 + 0x1c);\n        iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);\n        if (iVar2 == 0) goto LAB_000ffcbc;\n        iVar13 = *(int *)(puVar3 + 8);\n        iVar4 = *(int *)(puVar3 + 0x10);\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);\n        if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }\n        puStack_f4 = (undefined *)0x1;\n        puStack_f0 = &uStack_110;\n        ppuVar5 = &puStack_104;\n        puStack_104 = puVar3;\n        ppuStack_100 = ppuVar6;\n        puStack_fc = puVar9;\n        uStack_f8 = uVar16;\n        (**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);\n        puVar9 = puStack_f4;\n      }\n      iVar2 = iStack_ec;\n      if (iStack_ec == *piVar15) {\n        return puVar9;\n      }\n      goto LAB_000fff14;\n    }" if (parenthesized_expression "(*(int *)(puVar3 + 0x24) == -0x54535255)" ( (binary_expression "*(int *)(puVar3 + 0x24) == -0x54535255" (pointer_expression "*(int *)(puVar3 + 0x24)" * (cast_expression "(int *)(puVar3 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x24)" ( (binary_expression "puVar3 + 0x24" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      ppuVar5 = ppuVar6;\n      puVar10 = puVar9;\n      if (ppuVar6 == (undefined **)0x0) {\nLAB_000ffcbc:\n        puVar9 = (undefined *)0x0;\n      }\n      else {\n        uVar16 = *(undefined4 *)(puVar3 + 0x14);\n        ppuVar5 = (undefined **)0x1;\n        puVar10 = *(undefined **)(puVar3 + 0x1c);\n        iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);\n        if (iVar2 == 0) goto LAB_000ffcbc;\n        iVar13 = *(int *)(puVar3 + 8);\n        iVar4 = *(int *)(puVar3 + 0x10);\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);\n        if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }\n        puStack_f4 = (undefined *)0x1;\n        puStack_f0 = &uStack_110;\n        ppuVar5 = &puStack_104;\n        puStack_104 = puVar3;\n        ppuStack_100 = ppuVar6;\n        puStack_fc = puVar9;\n        uStack_f8 = uVar16;\n        (**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);\n        puVar9 = puStack_f4;\n      }\n      iVar2 = iStack_ec;\n      if (iStack_ec == *piVar15) {\n        return puVar9;\n      }\n      goto LAB_000fff14;\n    }" { (expression_statement "ppuVar5 = ppuVar6;" (assignment_expression "ppuVar5 = ppuVar6" identifier = identifier) ;) (expression_statement "puVar10 = puVar9;" (assignment_expression "puVar10 = puVar9" identifier = identifier) ;) (if_statement "if (ppuVar6 == (undefined **)0x0) {\nLAB_000ffcbc:\n        puVar9 = (undefined *)0x0;\n      }\n      else {\n        uVar16 = *(undefined4 *)(puVar3 + 0x14);\n        ppuVar5 = (undefined **)0x1;\n        puVar10 = *(undefined **)(puVar3 + 0x1c);\n        iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);\n        if (iVar2 == 0) goto LAB_000ffcbc;\n        iVar13 = *(int *)(puVar3 + 8);\n        iVar4 = *(int *)(puVar3 + 0x10);\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);\n        if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }\n        puStack_f4 = (undefined *)0x1;\n        puStack_f0 = &uStack_110;\n        ppuVar5 = &puStack_104;\n        puStack_104 = puVar3;\n        ppuStack_100 = ppuVar6;\n        puStack_fc = puVar9;\n        uStack_f8 = uVar16;\n        (**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);\n        puVar9 = puStack_f4;\n      }" if (parenthesized_expression "(ppuVar6 == (undefined **)0x0)" ( (binary_expression "ppuVar6 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\nLAB_000ffcbc:\n        puVar9 = (undefined *)0x0;\n      }" { (labeled_statement "LAB_000ffcbc:\n        puVar9 = (undefined *)0x0;" statement_identifier : (expression_statement "puVar9 = (undefined *)0x0;" (assignment_expression "puVar9 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }) (else_clause "else {\n        uVar16 = *(undefined4 *)(puVar3 + 0x14);\n        ppuVar5 = (undefined **)0x1;\n        puVar10 = *(undefined **)(puVar3 + 0x1c);\n        iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);\n        if (iVar2 == 0) goto LAB_000ffcbc;\n        iVar13 = *(int *)(puVar3 + 8);\n        iVar4 = *(int *)(puVar3 + 0x10);\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);\n        if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }\n        puStack_f4 = (undefined *)0x1;\n        puStack_f0 = &uStack_110;\n        ppuVar5 = &puStack_104;\n        puStack_104 = puVar3;\n        ppuStack_100 = ppuVar6;\n        puStack_fc = puVar9;\n        uStack_f8 = uVar16;\n        (**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);\n        puVar9 = puStack_f4;\n      }" else (compound_statement "{\n        uVar16 = *(undefined4 *)(puVar3 + 0x14);\n        ppuVar5 = (undefined **)0x1;\n        puVar10 = *(undefined **)(puVar3 + 0x1c);\n        iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);\n        if (iVar2 == 0) goto LAB_000ffcbc;\n        iVar13 = *(int *)(puVar3 + 8);\n        iVar4 = *(int *)(puVar3 + 0x10);\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);\n        if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }\n        puStack_f4 = (undefined *)0x1;\n        puStack_f0 = &uStack_110;\n        ppuVar5 = &puStack_104;\n        puStack_104 = puVar3;\n        ppuStack_100 = ppuVar6;\n        puStack_fc = puVar9;\n        uStack_f8 = uVar16;\n        (**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);\n        puVar9 = puStack_f4;\n      }" { (expression_statement "uVar16 = *(undefined4 *)(puVar3 + 0x14);" (assignment_expression "uVar16 = *(undefined4 *)(puVar3 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(puVar3 + 0x14)" * (cast_expression "(undefined4 *)(puVar3 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x14)" ( (binary_expression "puVar3 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "ppuVar5 = (undefined **)0x1;" (assignment_expression "ppuVar5 = (undefined **)0x1" identifier = (cast_expression "(undefined **)0x1" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "puVar10 = *(undefined **)(puVar3 + 0x1c);" (assignment_expression "puVar10 = *(undefined **)(puVar3 + 0x1c)" identifier = (pointer_expression "*(undefined **)(puVar3 + 0x1c)" * (cast_expression "(undefined **)(puVar3 + 0x1c)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar3 + 0x1c)" ( (binary_expression "puVar3 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);" (assignment_expression "iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16)" identifier = (call_expression "(**(code **)(pcVar19 + 0x2a9bec))(uVar16)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a9bec))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a9bec)" * (pointer_expression "*(code **)(pcVar19 + 0x2a9bec)" * (cast_expression "(code **)(pcVar19 + 0x2a9bec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a9bec)" ( (binary_expression "pcVar19 + 0x2a9bec" identifier + number_literal) ))))) )) (argument_list "(uVar16)" ( identifier )))) ;) (if_statement "if (iVar2 == 0) goto LAB_000ffcbc;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000ffcbc;" goto statement_identifier ;)) (expression_statement "iVar13 = *(int *)(puVar3 + 8);" (assignment_expression "iVar13 = *(int *)(puVar3 + 8)" identifier = (pointer_expression "*(int *)(puVar3 + 8)" * (cast_expression "(int *)(puVar3 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 8)" ( (binary_expression "puVar3 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(puVar3 + 0x10);" (assignment_expression "iVar4 = *(int *)(puVar3 + 0x10)" identifier = (pointer_expression "*(int *)(puVar3 + 0x10)" * (cast_expression "(int *)(puVar3 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x10)" ( (binary_expression "puVar3 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uStack_10c = 0;" (assignment_expression "uStack_10c = 0" identifier = number_literal) ;) (expression_statement "uStack_110 = 0;" (assignment_expression "uStack_110 = 0" identifier = number_literal) ;) (expression_statement "iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);" (assignment_expression "iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16)" identifier = (call_expression "(**(code **)(pcVar19 + 0x2a987c))(uVar16)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a987c))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a987c)" * (pointer_expression "*(code **)(pcVar19 + 0x2a987c)" * (cast_expression "(code **)(pcVar19 + 0x2a987c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a987c)" ( (binary_expression "pcVar19 + 0x2a987c" identifier + number_literal) ))))) )) (argument_list "(uVar16)" ( identifier )))) ;) (if_statement "if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }" if (parenthesized_expression "(((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3))))" ( (binary_expression "((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))" (parenthesized_expression "((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3))" ( (binary_expression "(iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)" (parenthesized_expression "(iVar2 == 4)" ( (binary_expression "iVar2 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)" ( (comma_expression "iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3" (assignment_expression "iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16)" identifier = (call_expression "(**(code **)(pcVar19 + 0x2a987c))(uVar16)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a987c))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a987c)" * (pointer_expression "*(code **)(pcVar19 + 0x2a987c)" * (cast_expression "(code **)(pcVar19 + 0x2a987c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a987c)" ( (binary_expression "pcVar19 + 0x2a987c" identifier + number_literal) ))))) )) (argument_list "(uVar16)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))" ( (parenthesized_expression "(iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3))" ( (comma_expression "iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)" (assignment_expression "iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16)" identifier = (call_expression "(**(code **)(pcVar19 + 0x2a987c))(uVar16)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a987c))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a987c)" * (pointer_expression "*(code **)(pcVar19 + 0x2a987c)" * (cast_expression "(code **)(pcVar19 + 0x2a987c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a987c)" ( (binary_expression "pcVar19 + 0x2a987c" identifier + number_literal) ))))) )) (argument_list "(uVar16)" ( identifier )))) , (binary_expression "iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)" (binary_expression "iVar2 == 4" identifier == number_literal) || (parenthesized_expression "(iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)" ( (comma_expression "iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3" (assignment_expression "iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16)" identifier = (call_expression "(**(code **)(pcVar19 + 0x2a987c))(uVar16)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a987c))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a987c)" * (pointer_expression "*(code **)(pcVar19 + 0x2a987c)" * (cast_expression "(code **)(pcVar19 + 0x2a987c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a987c)" ( (binary_expression "pcVar19 + 0x2a987c" identifier + number_literal) ))))) )) (argument_list "(uVar16)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }" { (expression_statement "iVar13 = iVar13 - iVar4;" (assignment_expression "iVar13 = iVar13 - iVar4" identifier = (binary_expression "iVar13 - iVar4" identifier - identifier)) ;) (expression_statement "(**(code **)(pcVar19 + 0x2a9504))(7);" (call_expression "(**(code **)(pcVar19 + 0x2a9504))(7)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a9504))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a9504)" * (pointer_expression "*(code **)(pcVar19 + 0x2a9504)" * (cast_expression "(code **)(pcVar19 + 0x2a9504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a9504)" ( (binary_expression "pcVar19 + 0x2a9504" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar2 = iVar13;" (assignment_expression "iVar2 = iVar13" identifier = identifier) ;) (if_statement "if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }" if (parenthesized_expression "(iVar13 < 0)" ( (binary_expression "iVar13 < 0" identifier < number_literal) )) (compound_statement "{\n            iVar2 = iVar13 + 0x3f;\n          }" { (expression_statement "iVar2 = iVar13 + 0x3f;" (assignment_expression "iVar2 = iVar13 + 0x3f" identifier = (binary_expression "iVar13 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "puVar8 = (undefined *)(iVar2 >> 6);" (assignment_expression "puVar8 = (undefined *)(iVar2 >> 6)" identifier = (cast_expression "(undefined *)(iVar2 >> 6)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 >> 6)" ( (binary_expression "iVar2 >> 6" identifier >> number_literal) )))) ;) (if_statement "if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }" if (parenthesized_expression "(extraout_v1_09 < (int)puVar8)" ( (binary_expression "extraout_v1_09 < (int)puVar8" identifier < (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }" { (expression_statement "(**(code **)(pcVar19 + 0x2a9504))(7);" (call_expression "(**(code **)(pcVar19 + 0x2a9504))(7)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a9504))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a9504)" * (pointer_expression "*(code **)(pcVar19 + 0x2a9504)" * (cast_expression "(code **)(pcVar19 + 0x2a9504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a9504)" ( (binary_expression "pcVar19 + 0x2a9504" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_12 < 2;" (assignment_expression "bVar1 = extraout_v1_12 < 2" identifier = (binary_expression "extraout_v1_12 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n            bVar1 = iVar13 < 0x80;\n          }" else (compound_statement "{\n            bVar1 = iVar13 < 0x80;\n          }" { (expression_statement "bVar1 = iVar13 < 0x80;" (assignment_expression "bVar1 = iVar13 < 0x80" identifier = (binary_expression "iVar13 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "puVar10 = (undefined *)0x1;" (assignment_expression "puVar10 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\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 **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }" { (expression_statement "(**(code **)(pcVar19 + 0x2a9504))(7);" (call_expression "(**(code **)(pcVar19 + 0x2a9504))(7)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a9504))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a9504)" * (pointer_expression "*(code **)(pcVar19 + 0x2a9504)" * (cast_expression "(code **)(pcVar19 + 0x2a9504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a9504)" ( (binary_expression "pcVar19 + 0x2a9504" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (if_statement "if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }" if (parenthesized_expression "(extraout_v1_11 < (int)puVar8)" ( (binary_expression "extraout_v1_11 < (int)puVar8" identifier < (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }" { (expression_statement "(**(code **)(pcVar19 + 0x2a9504))(7);" (call_expression "(**(code **)(pcVar19 + 0x2a9504))(7)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a9504))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a9504)" * (pointer_expression "*(code **)(pcVar19 + 0x2a9504)" * (cast_expression "(code **)(pcVar19 + 0x2a9504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a9504)" ( (binary_expression "pcVar19 + 0x2a9504" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "puVar8 = extraout_v1_13;" (assignment_expression "puVar8 = extraout_v1_13" identifier = identifier) ;) })) (goto_statement "goto LAB_000ffd68;" goto statement_identifier ;) })) (expression_statement "iVar2 = *(int *)(pcVar19 + 0x2a8e5c);" (assignment_expression "iVar2 = *(int *)(pcVar19 + 0x2a8e5c)" identifier = (pointer_expression "*(int *)(pcVar19 + 0x2a8e5c)" * (cast_expression "(int *)(pcVar19 + 0x2a8e5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar19 + 0x2a8e5c)" ( (binary_expression "pcVar19 + 0x2a8e5c" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }" else (compound_statement "{\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }" { (expression_statement "uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);" (assignment_expression "uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7)" identifier = (call_expression "(**(code **)(pcVar19 + 0x2a9504))(7)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a9504))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a9504)" * (pointer_expression "*(code **)(pcVar19 + 0x2a9504)" * (cast_expression "(code **)(pcVar19 + 0x2a9504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a9504)" ( (binary_expression "pcVar19 + 0x2a9504" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }" if (parenthesized_expression "((int)((ulonglong)uVar21 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar21 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar21 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar21 >> 0x20)" ( (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }" { (expression_statement "pcVar20 = *(code **)(pcVar19 + 0x2a9504);" (assignment_expression "pcVar20 = *(code **)(pcVar19 + 0x2a9504)" identifier = (pointer_expression "*(code **)(pcVar19 + 0x2a9504)" * (cast_expression "(code **)(pcVar19 + 0x2a9504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a9504)" ( (binary_expression "pcVar19 + 0x2a9504" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }" if (parenthesized_expression "((uint)uVar21 < 2)" ( (binary_expression "(uint)uVar21 < 2" (cast_expression "(uint)uVar21" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }" { (expression_statement "uVar21 = (*pcVar20)(7);" (assignment_expression "uVar21 = (*pcVar20)(7)" identifier = (call_expression "(*pcVar20)(7)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;" if (parenthesized_expression "((int)((ulonglong)uVar21 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar21 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar21 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar21 >> 0x20)" ( (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_000ffd50;" goto statement_identifier ;)) (expression_statement "pcVar20 = *(code **)(pcVar19 + 0x2a9504);" (assignment_expression "pcVar20 = *(code **)(pcVar19 + 0x2a9504)" identifier = (pointer_expression "*(code **)(pcVar19 + 0x2a9504)" * (cast_expression "(code **)(pcVar19 + 0x2a9504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a9504)" ( (binary_expression "pcVar19 + 0x2a9504" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }" if (parenthesized_expression "((uint)uVar21 < 2)" ( (binary_expression "(uint)uVar21 < 2" (cast_expression "(uint)uVar21" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }" { (expression_statement "puVar8 = (undefined *)0x1;" (assignment_expression "puVar8 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000ffd68;" goto statement_identifier ;) })) })) }) (else_clause "else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }" else (compound_statement "{\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }" { (labeled_statement "LAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);" statement_identifier : (expression_statement "pcVar20 = *(code **)(pcVar19 + 0x2a9504);" (assignment_expression "pcVar20 = *(code **)(pcVar19 + 0x2a9504)" identifier = (pointer_expression "*(code **)(pcVar19 + 0x2a9504)" * (cast_expression "(code **)(pcVar19 + 0x2a9504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a9504)" ( (binary_expression "pcVar19 + 0x2a9504" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar21 = (*pcVar20)(7);" (assignment_expression "uVar21 = (*pcVar20)(7)" identifier = (call_expression "(*pcVar20)(7)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }" if (parenthesized_expression "(((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2))" ( (binary_expression "((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)" (parenthesized_expression "((int)((ulonglong)uVar21 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar21 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar21 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar21 >> 0x20)" ( (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar21 < 2)" ( (binary_expression "(uint)uVar21 < 2" (cast_expression "(uint)uVar21" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }" { (expression_statement "(**(code **)(pcVar19 + 0x2a9504))(7);" (call_expression "(**(code **)(pcVar19 + 0x2a9504))(7)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a9504))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a9504)" * (pointer_expression "*(code **)(pcVar19 + 0x2a9504)" * (cast_expression "(code **)(pcVar19 + 0x2a9504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a9504)" ( (binary_expression "pcVar19 + 0x2a9504" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "puVar8 = extraout_v1_10;" (assignment_expression "puVar8 = extraout_v1_10" identifier = identifier) ;) }) (else_clause "else {\n            puVar8 = (undefined *)0x2;\n          }" else (compound_statement "{\n            puVar8 = (undefined *)0x2;\n          }" { (expression_statement "puVar8 = (undefined *)0x2;" (assignment_expression "puVar8 = (undefined *)0x2" identifier = (cast_expression "(undefined *)0x2" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (labeled_statement "LAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);" statement_identifier : (expression_statement "iVar2 = *(int *)(pcVar19 + 0x2a8e5c);" (assignment_expression "iVar2 = *(int *)(pcVar19 + 0x2a8e5c)" identifier = (pointer_expression "*(int *)(pcVar19 + 0x2a8e5c)" * (cast_expression "(int *)(pcVar19 + 0x2a8e5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar19 + 0x2a8e5c)" ( (binary_expression "pcVar19 + 0x2a8e5c" identifier + number_literal) ))))) ;)) (expression_statement "puVar10 = puVar8;" (assignment_expression "puVar10 = puVar8" identifier = identifier) ;) }))) (expression_statement "puStack_f4 = (undefined *)0x1;" (assignment_expression "puStack_f4 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puStack_f0 = &uStack_110;" (assignment_expression "puStack_f0 = &uStack_110" identifier = (pointer_expression "&uStack_110" & identifier)) ;) (expression_statement "ppuVar5 = &puStack_104;" (assignment_expression "ppuVar5 = &puStack_104" identifier = (pointer_expression "&puStack_104" & identifier)) ;) (expression_statement "puStack_104 = puVar3;" (assignment_expression "puStack_104 = puVar3" identifier = identifier) ;) (expression_statement "ppuStack_100 = ppuVar6;" (assignment_expression "ppuStack_100 = ppuVar6" identifier = identifier) ;) (expression_statement "puStack_fc = puVar9;" (assignment_expression "puStack_fc = puVar9" identifier = identifier) ;) (expression_statement "uStack_f8 = uVar16;" (assignment_expression "uStack_f8 = uVar16" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);" (call_expression "(**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a9560))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a9560)" * (pointer_expression "*(code **)(pcVar19 + 0x2a9560)" * (cast_expression "(code **)(pcVar19 + 0x2a9560)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a9560)" ( (binary_expression "pcVar19 + 0x2a9560" identifier + number_literal) ))))) )) (argument_list "(iVar2 + -0x1ca0,ppuVar5,puVar10,0)" ( (binary_expression "iVar2 + -0x1ca0" identifier + number_literal) , identifier , identifier , number_literal ))) ;) (expression_statement "puVar9 = puStack_f4;" (assignment_expression "puVar9 = puStack_f4" identifier = identifier) ;) }))) (expression_statement "iVar2 = iStack_ec;" (assignment_expression "iVar2 = iStack_ec" identifier = identifier) ;) (if_statement "if (iStack_ec == *piVar15) {\n        return puVar9;\n      }" if (parenthesized_expression "(iStack_ec == *piVar15)" ( (binary_expression "iStack_ec == *piVar15" identifier == (pointer_expression "*piVar15" * identifier)) )) (compound_statement "{\n        return puVar9;\n      }" { (return_statement "return puVar9;" return identifier ;) })) (goto_statement "goto LAB_000fff14;" goto statement_identifier ;) })) (expression_statement "(**(code **)(pcVar19 + 0x2a99d0))\n              (*(int *)(pcVar19 + 0x2a8cb0) + 0x3930,*(int *)(pcVar19 + 0x2a8cac) + -0x5168,0x481,\n               *(int *)(pcVar19 + 0x2a8cac) + -0x5020);" (call_expression "(**(code **)(pcVar19 + 0x2a99d0))\n              (*(int *)(pcVar19 + 0x2a8cb0) + 0x3930,*(int *)(pcVar19 + 0x2a8cac) + -0x5168,0x481,\n               *(int *)(pcVar19 + 0x2a8cac) + -0x5020)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a99d0))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a99d0)" * (pointer_expression "*(code **)(pcVar19 + 0x2a99d0)" * (cast_expression "(code **)(pcVar19 + 0x2a99d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a99d0)" ( (binary_expression "pcVar19 + 0x2a99d0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar19 + 0x2a8cb0) + 0x3930,*(int *)(pcVar19 + 0x2a8cac) + -0x5168,0x481,\n               *(int *)(pcVar19 + 0x2a8cac) + -0x5020)" ( (binary_expression "*(int *)(pcVar19 + 0x2a8cb0) + 0x3930" (pointer_expression "*(int *)(pcVar19 + 0x2a8cb0)" * (cast_expression "(int *)(pcVar19 + 0x2a8cb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar19 + 0x2a8cb0)" ( (binary_expression "pcVar19 + 0x2a8cb0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar19 + 0x2a8cac) + -0x5168" (pointer_expression "*(int *)(pcVar19 + 0x2a8cac)" * (cast_expression "(int *)(pcVar19 + 0x2a8cac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar19 + 0x2a8cac)" ( (binary_expression "pcVar19 + 0x2a8cac" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar19 + 0x2a8cac) + -0x5020" (pointer_expression "*(int *)(pcVar19 + 0x2a8cac)" * (cast_expression "(int *)(pcVar19 + 0x2a8cac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar19 + 0x2a8cac)" ( (binary_expression "pcVar19 + 0x2a8cac" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "puVar10 = (undefined *)0x480;" (assignment_expression "puVar10 = (undefined *)0x480" identifier = (cast_expression "(undefined *)0x480" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppuVar5 = (undefined **)(*(int *)(pcVar19 + 0x2a8cac) + -0x5168);" (assignment_expression "ppuVar5 = (undefined **)(*(int *)(pcVar19 + 0x2a8cac) + -0x5168)" identifier = (cast_expression "(undefined **)(*(int *)(pcVar19 + 0x2a8cac) + -0x5168)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar19 + 0x2a8cac) + -0x5168)" ( (binary_expression "*(int *)(pcVar19 + 0x2a8cac) + -0x5168" (pointer_expression "*(int *)(pcVar19 + 0x2a8cac)" * (cast_expression "(int *)(pcVar19 + 0x2a8cac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar19 + 0x2a8cac)" ( (binary_expression "pcVar19 + 0x2a8cac" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar2 = *(int *)(pcVar19 + 0x2a8cac) + -0x50fc;" (assignment_expression "iVar2 = *(int *)(pcVar19 + 0x2a8cac) + -0x50fc" identifier = (binary_expression "*(int *)(pcVar19 + 0x2a8cac) + -0x50fc" (pointer_expression "*(int *)(pcVar19 + 0x2a8cac)" * (cast_expression "(int *)(pcVar19 + 0x2a8cac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar19 + 0x2a8cac)" ( (binary_expression "pcVar19 + 0x2a8cac" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar19 + 0x2a99d0))();" (call_expression "(**(code **)(pcVar19 + 0x2a99d0))()" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a99d0))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a99d0)" * (pointer_expression "*(code **)(pcVar19 + 0x2a99d0)" * (cast_expression "(code **)(pcVar19 + 0x2a99d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a99d0)" ( (binary_expression "pcVar19 + 0x2a99d0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_000fff14:\n  pcVar19 = *(code **)(pcVar19 + 0x2a942c);" statement_identifier : (expression_statement "pcVar19 = *(code **)(pcVar19 + 0x2a942c);" (assignment_expression "pcVar19 = *(code **)(pcVar19 + 0x2a942c)" identifier = (pointer_expression "*(code **)(pcVar19 + 0x2a942c)" * (cast_expression "(code **)(pcVar19 + 0x2a942c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a942c)" ( (binary_expression "pcVar19 + 0x2a942c" identifier + number_literal) ))))) ;)) (expression_statement "(*pcVar19)();" (call_expression "(*pcVar19)()" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (*(int *)(iVar2 + 700) == 0) {\n    (**(code **)(pcVar19 + 0x2a8df4))();\n  }" if (parenthesized_expression "(*(int *)(iVar2 + 700) == 0)" ( (binary_expression "*(int *)(iVar2 + 700) == 0" (pointer_expression "*(int *)(iVar2 + 700)" * (cast_expression "(int *)(iVar2 + 700)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 700)" ( (binary_expression "iVar2 + 700" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    (**(code **)(pcVar19 + 0x2a8df4))();\n  }" { (expression_statement "(**(code **)(pcVar19 + 0x2a8df4))();" (call_expression "(**(code **)(pcVar19 + 0x2a8df4))()" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a8df4))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a8df4)" * (pointer_expression "*(code **)(pcVar19 + 0x2a8df4)" * (cast_expression "(code **)(pcVar19 + 0x2a8df4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a8df4)" ( (binary_expression "pcVar19 + 0x2a8df4" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "puVar9 = ppuVar5[1];" (assignment_expression "puVar9 = ppuVar5[1]" identifier = (subscript_expression "ppuVar5[1]" identifier [ number_literal ])) ;) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (if_statement "if (0 < (int)puVar9) {\n    do {\n      iVar4 = (**(code **)(pcVar19 + 0x2a8e18))\n                        (iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      puVar8 = *ppuVar5;\n      puVar9 = (undefined *)0x0;\n      if (0 < (int)puVar8) {\n        iVar12 = *(int *)(iVar2 + 0x2d0);\n        iVar7 = *(int *)(iVar2 + 0x2c0);\n        iVar11 = *(int *)(iVar12 + 0x34);\n        do {\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        } while (puVar9 != puVar8);\n      }\n      iVar4 = (**(code **)(pcVar19 + 0x2a92c4))(iVar2,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      iVar13 = iVar13 + 1;\n      puVar9 = (undefined *)(uint)(iVar13 < (int)ppuVar5[1]);\n    } while (puVar9 != (undefined *)0x0);\n  }" if (parenthesized_expression "(0 < (int)puVar9)" ( (binary_expression "0 < (int)puVar9" number_literal < (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    do {\n      iVar4 = (**(code **)(pcVar19 + 0x2a8e18))\n                        (iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      puVar8 = *ppuVar5;\n      puVar9 = (undefined *)0x0;\n      if (0 < (int)puVar8) {\n        iVar12 = *(int *)(iVar2 + 0x2d0);\n        iVar7 = *(int *)(iVar2 + 0x2c0);\n        iVar11 = *(int *)(iVar12 + 0x34);\n        do {\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        } while (puVar9 != puVar8);\n      }\n      iVar4 = (**(code **)(pcVar19 + 0x2a92c4))(iVar2,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      iVar13 = iVar13 + 1;\n      puVar9 = (undefined *)(uint)(iVar13 < (int)ppuVar5[1]);\n    } while (puVar9 != (undefined *)0x0);\n  }" { (do_statement "do {\n      iVar4 = (**(code **)(pcVar19 + 0x2a8e18))\n                        (iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      puVar8 = *ppuVar5;\n      puVar9 = (undefined *)0x0;\n      if (0 < (int)puVar8) {\n        iVar12 = *(int *)(iVar2 + 0x2d0);\n        iVar7 = *(int *)(iVar2 + 0x2c0);\n        iVar11 = *(int *)(iVar12 + 0x34);\n        do {\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        } while (puVar9 != puVar8);\n      }\n      iVar4 = (**(code **)(pcVar19 + 0x2a92c4))(iVar2,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      iVar13 = iVar13 + 1;\n      puVar9 = (undefined *)(uint)(iVar13 < (int)ppuVar5[1]);\n    } while (puVar9 != (undefined *)0x0);" do (compound_statement "{\n      iVar4 = (**(code **)(pcVar19 + 0x2a8e18))\n                        (iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      puVar8 = *ppuVar5;\n      puVar9 = (undefined *)0x0;\n      if (0 < (int)puVar8) {\n        iVar12 = *(int *)(iVar2 + 0x2d0);\n        iVar7 = *(int *)(iVar2 + 0x2c0);\n        iVar11 = *(int *)(iVar12 + 0x34);\n        do {\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        } while (puVar9 != puVar8);\n      }\n      iVar4 = (**(code **)(pcVar19 + 0x2a92c4))(iVar2,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      iVar13 = iVar13 + 1;\n      puVar9 = (undefined *)(uint)(iVar13 < (int)ppuVar5[1]);\n    }" { (expression_statement "iVar4 = (**(code **)(pcVar19 + 0x2a8e18))\n                        (iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10);" (assignment_expression "iVar4 = (**(code **)(pcVar19 + 0x2a8e18))\n                        (iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10)" identifier = (call_expression "(**(code **)(pcVar19 + 0x2a8e18))\n                        (iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a8e18))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a8e18)" * (pointer_expression "*(code **)(pcVar19 + 0x2a8e18)" * (cast_expression "(code **)(pcVar19 + 0x2a8e18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a8e18)" ( (binary_expression "pcVar19 + 0x2a8e18" identifier + number_literal) ))))) )) (argument_list "(iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10)" ( identifier , (subscript_expression "ppuVar5[2]" identifier [ number_literal ]) , (binary_expression "ppuVar5[3] + iVar13" (subscript_expression "ppuVar5[3]" identifier [ number_literal ]) + identifier) , (pointer_expression "*ppuVar5" * identifier) , number_literal , identifier )))) ;) (if_statement "if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        return (undefined *)0x0;\n      }" { (return_statement "return (undefined *)0x0;" return (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "puVar8 = *ppuVar5;" (assignment_expression "puVar8 = *ppuVar5" identifier = (pointer_expression "*ppuVar5" * identifier)) ;) (expression_statement "puVar9 = (undefined *)0x0;" (assignment_expression "puVar9 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0 < (int)puVar8) {\n        iVar12 = *(int *)(iVar2 + 0x2d0);\n        iVar7 = *(int *)(iVar2 + 0x2c0);\n        iVar11 = *(int *)(iVar12 + 0x34);\n        do {\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        } while (puVar9 != puVar8);\n      }" if (parenthesized_expression "(0 < (int)puVar8)" ( (binary_expression "0 < (int)puVar8" number_literal < (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        iVar12 = *(int *)(iVar2 + 0x2d0);\n        iVar7 = *(int *)(iVar2 + 0x2c0);\n        iVar11 = *(int *)(iVar12 + 0x34);\n        do {\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        } while (puVar9 != puVar8);\n      }" { (expression_statement "iVar12 = *(int *)(iVar2 + 0x2d0);" (assignment_expression "iVar12 = *(int *)(iVar2 + 0x2d0)" identifier = (pointer_expression "*(int *)(iVar2 + 0x2d0)" * (cast_expression "(int *)(iVar2 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2d0)" ( (binary_expression "iVar2 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(iVar2 + 0x2c0);" (assignment_expression "iVar7 = *(int *)(iVar2 + 0x2c0)" identifier = (pointer_expression "*(int *)(iVar2 + 0x2c0)" * (cast_expression "(int *)(iVar2 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2c0)" ( (binary_expression "iVar2 + 0x2c0" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = *(int *)(iVar12 + 0x34);" (assignment_expression "iVar11 = *(int *)(iVar12 + 0x34)" identifier = (pointer_expression "*(int *)(iVar12 + 0x34)" * (cast_expression "(int *)(iVar12 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x34)" ( (binary_expression "iVar12 + 0x34" identifier + number_literal) ))))) ;) (do_statement "do {\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        } while (puVar9 != puVar8);" do (compound_statement "{\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        }" { (expression_statement "puVar9 = puVar9 + 1;" (assignment_expression "puVar9 = puVar9 + 1" identifier = (binary_expression "puVar9 + 1" identifier + number_literal)) ;) (if_statement "if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }" { (expression_statement "*(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;" (assignment_expression "*(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0" (pointer_expression "*(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4)" * (cast_expression "(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + *(int *)(iVar12 + 0x38) * 4)" ( (binary_expression "iVar4 + *(int *)(iVar12 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar12 + 0x38) * 4" (pointer_expression "*(int *)(iVar12 + 0x38)" * (cast_expression "(int *)(iVar12 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x38)" ( (binary_expression "iVar12 + 0x38" identifier + number_literal) )))) * number_literal)) )))) = number_literal) ;) })) (expression_statement "iVar4 = iVar4 + iVar7 * 4;" (assignment_expression "iVar4 = iVar4 + iVar7 * 4" identifier = (binary_expression "iVar4 + iVar7 * 4" identifier + (binary_expression "iVar7 * 4" identifier * number_literal))) ;) }) while (parenthesized_expression "(puVar9 != puVar8)" ( (binary_expression "puVar9 != puVar8" identifier != identifier) )) ;) })) (expression_statement "iVar4 = (**(code **)(pcVar19 + 0x2a92c4))(iVar2,puVar10);" (assignment_expression "iVar4 = (**(code **)(pcVar19 + 0x2a92c4))(iVar2,puVar10)" identifier = (call_expression "(**(code **)(pcVar19 + 0x2a92c4))(iVar2,puVar10)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a92c4))" ( (pointer_expression "**(code **)(pcVar19 + 0x2a92c4)" * (pointer_expression "*(code **)(pcVar19 + 0x2a92c4)" * (cast_expression "(code **)(pcVar19 + 0x2a92c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x2a92c4)" ( (binary_expression "pcVar19 + 0x2a92c4" identifier + number_literal) ))))) )) (argument_list "(iVar2,puVar10)" ( identifier , identifier )))) ;) (if_statement "if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        return (undefined *)0x0;\n      }" { (return_statement "return (undefined *)0x0;" return (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (expression_statement "puVar9 = (undefined *)(uint)(iVar13 < (int)ppuVar5[1]);" (assignment_expression "puVar9 = (undefined *)(uint)(iVar13 < (int)ppuVar5[1])" identifier = (cast_expression "(undefined *)(uint)(iVar13 < (int)ppuVar5[1])" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(iVar13 < (int)ppuVar5[1])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar13 < (int)ppuVar5[1])" ( (binary_expression "iVar13 < (int)ppuVar5[1]" identifier < (cast_expression "(int)ppuVar5[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppuVar5[1]" identifier [ number_literal ]))) ))))) ;) }) while (parenthesized_expression "(puVar9 != (undefined *)0x0)" ( (binary_expression "puVar9 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (return_statement "return puVar9;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * IDENT))) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (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 * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (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 * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (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 *))) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = 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 *))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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 (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (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 IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (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) ) 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 IDENT < LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (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 *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 *)) ) 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 *)) ) LIT)) ;) }))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (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 = 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) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (compound_statement { (return_statement return 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 *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (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 ( (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (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 ( (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 ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (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 *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_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 * (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) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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) ))))) ;) (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 = 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 )))) ;) (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 (assignment_expression IDENT = (binary_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 ( LIT ))) ;) (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)) ;) })) (expression_statement (assignment_expression IDENT = (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) ) IDENT)) )) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (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 = 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) ))))) ;) }) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 ( (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 = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (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 (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = 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 *))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (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 == 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) ))))) ;) (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 = 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 )))) ;) (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 (assignment_expression IDENT = (binary_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 ( LIT ))) ;) (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)) ;) })) (expression_statement (assignment_expression IDENT = (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) ) IDENT)) )) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (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 = 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) ))))) ;) }) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 ( (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 = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) })) (goto_statement goto 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (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 = (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 ( ))) ;) (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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (do_statement do (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 ( IDENT , (subscript_expression IDENT [ LIT ]) , (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) , (pointer_expression * IDENT) , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (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 = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) }) while (parenthesized_expression ( (binary_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 , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) })) (return_statement return IDENT ;) })))
(function_definition "undefined *\nSetImageViewIterator(undefined *param_1,undefined **param_2,undefined *param_3,undefined *param_4)\n\n{\n  bool bVar1;\n  int iVar2;\n  undefined *puVar3;\n  int iVar4;\n  int extraout_v1;\n  undefined *extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  undefined *extraout_v1_03;\n  int extraout_v1_04;\n  undefined *extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  undefined *extraout_v1_08;\n  int extraout_v1_09;\n  undefined *extraout_v1_10;\n  int extraout_v1_11;\n  int extraout_v1_12;\n  undefined *extraout_v1_13;\n  undefined **ppuVar5;\n  undefined **ppuVar6;\n  int iVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  int iVar11;\n  int iVar12;\n  undefined *unaff_s0;\n  int iVar13;\n  int *piVar14;\n  int *piVar15;\n  undefined **unaff_s2;\n  undefined4 unaff_s3;\n  undefined4 uVar16;\n  undefined *unaff_s4;\n  undefined *unaff_s5;\n  undefined *puVar17;\n  undefined *unaff_s6;\n  undefined *puVar18;\n  code *pcVar19;\n  code *pcVar20;\n  undefined8 uVar21;\n  undefined4 uStack_110;\n  undefined4 uStack_10c;\n  undefined *puStack_104;\n  undefined **ppuStack_100;\n  undefined *puStack_fc;\n  undefined4 uStack_f8;\n  undefined *puStack_f4;\n  undefined4 *puStack_f0;\n  int iStack_ec;\n  undefined *puStack_e8;\n  int *piStack_e4;\n  undefined **ppuStack_e0;\n  undefined *puStack_dc;\n  undefined *puStack_d8;\n  undefined *puStack_d4;\n  undefined *puStack_d0;\n  code *pcStack_cc;\n  undefined *puStack_b8;\n  undefined4 uStack_b0;\n  undefined4 uStack_ac;\n  undefined *puStack_a8;\n  undefined **ppuStack_a4;\n  undefined *puStack_a0;\n  undefined *puStack_9c;\n  undefined *puStack_98;\n  undefined *puStack_94;\n  undefined4 *puStack_90;\n  undefined *puStack_8c;\n  undefined *puStack_88;\n  undefined *puStack_84;\n  undefined **ppuStack_80;\n  undefined4 uStack_7c;\n  undefined *puStack_78;\n  undefined *puStack_74;\n  undefined *puStack_70;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined *local_3c;\n  undefined **local_38;\n  undefined *local_34;\n  undefined4 local_30;\n  undefined *local_2c;\n  undefined4 *local_28;\n  undefined *local_24;\n  \n  puVar9 = PTR___stack_chk_guard_003a9230;\n  local_24 = *(undefined **)PTR___stack_chk_guard_003a9230;\n  if (param_1 == (undefined *)0x0) {\nLAB_000ff904:\n    puVar8 = (undefined *)0x37a;\n    param_4 = PTR_s_t_to_left_003a88e4 + -0x4fec;\n    ppuVar5 = (undefined **)(PTR_s_t_to_left_003a88e4 + -0x5168);\n    puVar10 = PTR_s_t_to_left_003a88e4 + -0x5080;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }\n  else {\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x24) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);\n      goto LAB_000ff904;\n    }\n    ppuVar5 = param_2;\n    puVar8 = param_3;\n    if (param_2 == (undefined **)0x0) {\nLAB_000ff6d0:\n      puVar3 = (undefined *)0x0;\n      param_3 = unaff_s4;\n    }\n    else {\n      unaff_s3 = *(undefined4 *)(param_1 + 0x14);\n      ppuVar5 = (undefined **)0x1;\n      puVar8 = *(undefined **)(param_1 + 0x1c);\n      iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = param_3;\n      if (iVar2 == 0) goto LAB_000ff6d0;\n      unaff_s5 = *(undefined **)(param_1 + 8);\n      unaff_s6 = *(undefined **)(param_1 + 0x10);\n      local_44 = 0;\n      local_48 = 0;\n      iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))) {\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }\nLAB_000ff780:\n      param_4 = (undefined *)0x0;\n      local_2c = (undefined *)0x1;\n      local_28 = &local_48;\n      ppuVar5 = &local_3c;\n      local_3c = param_1;\n      local_38 = param_2;\n      local_34 = param_3;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      puVar3 = local_2c;\n    }\n    puVar10 = local_24;\n    unaff_s2 = param_2;\n    unaff_s4 = param_3;\n    if (local_24 == *(undefined **)puVar9) {\n      return puVar3;\n    }\n  }\n  puVar3 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  puStack_b8 = puVar3 + 0x2b0f7c;\n  puStack_84 = puVar9;\n  piVar14 = *(int **)(puVar3 + 0x2a98fc);\n  puStack_8c = (undefined *)*piVar14;\n  puStack_88 = unaff_s0;\n  ppuStack_80 = unaff_s2;\n  uStack_7c = unaff_s3;\n  puStack_78 = unaff_s4;\n  puStack_74 = unaff_s5;\n  puStack_70 = unaff_s6;\n  if (puVar10 == (undefined *)0x0) {\n    puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb0) + -0x50fc,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fa,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);\n    return puVar9;\n  }\n  if (*(int *)(puVar10 + 0x24) != -0x54535255) {\n    puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb4) + 0x3930,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fb,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);\n    return puVar9;\n  }\n  ppuVar6 = ppuVar5;\n  puVar9 = puVar8;\n  puVar18 = unaff_s6;\n  if (puVar8 == (undefined *)0x0) {\nLAB_000ff9c8:\n    puVar3 = (undefined *)0x0;\n    ppuVar5 = unaff_s2;\n    param_4 = unaff_s4;\n  }\n  else {\n    puVar17 = ppuVar5[5];\n    ppuVar6 = (undefined **)0x1;\n    puVar9 = ppuVar5[7];\n    puVar18 = *(undefined **)(puVar10 + 0x14);\n    iVar2 = (**(code **)(puVar3 + 0x2a9ef0))(puVar17);\n    unaff_s2 = ppuVar5;\n    unaff_s4 = param_4;\n    unaff_s5 = puVar17;\n    if (iVar2 == 0) goto LAB_000ff9c8;\n    iVar13 = *(int *)(puVar10 + 8);\n    iVar4 = *(int *)(puVar10 + 0x10);\n    uStack_ac = 0;\n    uStack_b0 = 0;\n    iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18);\n    if (((iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)) &&\n       ((iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)))) {\n      iVar13 = iVar13 - iVar4;\n      (**(code **)(puStack_b8 + -0x7774))(7);\n      iVar2 = iVar13;\n      if (iVar13 < 0) {\n        iVar2 = iVar13 + 0x3f;\n      }\n      unaff_s5 = (undefined *)(iVar2 >> 6);\n      if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar13 < 0x80;\n      }\n      puVar9 = (undefined *)0x1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        puVar17 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n    }\n    else {\n      uVar21 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar21 = (*pcVar19)(7);\n      if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (undefined *)0x2;\n      }\nLAB_000ffa7c:\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n      puVar9 = unaff_s5;\n      unaff_s5 = puVar17;\n    }\n    puStack_94 = (undefined *)0x1;\n    puStack_90 = &uStack_b0;\n    ppuVar6 = &puStack_a8;\n    puStack_a8 = puVar10;\n    ppuStack_a4 = ppuVar5;\n    puStack_a0 = puVar8;\n    puStack_9c = param_4;\n    puStack_98 = puVar18;\n    (**(code **)(puStack_b8 + -0x7718))(iVar2 + -0x1ecc,ppuVar6,puVar9,0);\n    puVar3 = puStack_94;\n  }\n  if (puStack_8c == (undefined *)*piVar14) {\n    return puVar3;\n  }\n  pcVar19 = *(code **)(puStack_b8 + -0x784c);\n  pcVar20 = UpdateImageViewIterator;\n  puVar3 = puStack_8c;\n  (*pcVar19)();\n  piVar15 = *(int **)(pcVar19 + 0x2a95f8);\n  iStack_ec = *piVar15;\n  puStack_e8 = puVar10;\n  piStack_e4 = piVar14;\n  ppuStack_e0 = ppuVar5;\n  puStack_dc = puVar8;\n  puStack_d8 = param_4;\n  puStack_d4 = unaff_s5;\n  puStack_d0 = puVar18;\n  pcStack_cc = pcVar20;\n  if (puVar3 != (undefined *)0x0) {\n    if (*(int *)(puVar3 + 0x24) == -0x54535255) {\n      ppuVar5 = ppuVar6;\n      puVar10 = puVar9;\n      if (ppuVar6 == (undefined **)0x0) {\nLAB_000ffcbc:\n        puVar9 = (undefined *)0x0;\n      }\n      else {\n        uVar16 = *(undefined4 *)(puVar3 + 0x14);\n        ppuVar5 = (undefined **)0x1;\n        puVar10 = *(undefined **)(puVar3 + 0x1c);\n        iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);\n        if (iVar2 == 0) goto LAB_000ffcbc;\n        iVar13 = *(int *)(puVar3 + 8);\n        iVar4 = *(int *)(puVar3 + 0x10);\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);\n        if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }\n        puStack_f4 = (undefined *)0x1;\n        puStack_f0 = &uStack_110;\n        ppuVar5 = &puStack_104;\n        puStack_104 = puVar3;\n        ppuStack_100 = ppuVar6;\n        puStack_fc = puVar9;\n        uStack_f8 = uVar16;\n        (**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);\n        puVar9 = puStack_f4;\n      }\n      iVar2 = iStack_ec;\n      if (iStack_ec == *piVar15) {\n        return puVar9;\n      }\n      goto LAB_000fff14;\n    }\n    (**(code **)(pcVar19 + 0x2a99d0))\n              (*(int *)(pcVar19 + 0x2a8cb0) + 0x3930,*(int *)(pcVar19 + 0x2a8cac) + -0x5168,0x481,\n               *(int *)(pcVar19 + 0x2a8cac) + -0x5020);\n  }\n  puVar10 = (undefined *)0x480;\n  ppuVar5 = (undefined **)(*(int *)(pcVar19 + 0x2a8cac) + -0x5168);\n  iVar2 = *(int *)(pcVar19 + 0x2a8cac) + -0x50fc;\n  (**(code **)(pcVar19 + 0x2a99d0))();\nLAB_000fff14:\n  pcVar19 = *(code **)(pcVar19 + 0x2a942c);\n  (*pcVar19)();\n  if (*(int *)(iVar2 + 700) == 0) {\n    (**(code **)(pcVar19 + 0x2a8df4))();\n  }\n  puVar9 = ppuVar5[1];\n  iVar13 = 0;\n  if (0 < (int)puVar9) {\n    do {\n      iVar4 = (**(code **)(pcVar19 + 0x2a8e18))\n                        (iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      puVar8 = *ppuVar5;\n      puVar9 = (undefined *)0x0;\n      if (0 < (int)puVar8) {\n        iVar12 = *(int *)(iVar2 + 0x2d0);\n        iVar7 = *(int *)(iVar2 + 0x2c0);\n        iVar11 = *(int *)(iVar12 + 0x34);\n        do {\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        } while (puVar9 != puVar8);\n      }\n      iVar4 = (**(code **)(pcVar19 + 0x2a92c4))(iVar2,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      iVar13 = iVar13 + 1;\n      puVar9 = (undefined *)(uint)(iVar13 < (int)ppuVar5[1]);\n    } while (puVar9 != (undefined *)0x0);\n  }\n  return puVar9;\n}" (type_identifier "undefined") (pointer_declarator "*\nSetImageViewIterator(undefined *param_1,undefined **param_2,undefined *param_3,undefined *param_4)" (* "*") (function_declarator "SetImageViewIterator(undefined *param_1,undefined **param_2,undefined *param_3,undefined *param_4)" (identifier "SetImageViewIterator") (parameter_list "(undefined *param_1,undefined **param_2,undefined *param_3,undefined *param_4)" (( "(") (parameter_declaration "undefined *param_1" (type_identifier "undefined") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined **param_2" (type_identifier "undefined") (pointer_declarator "**param_2" (* "*") (pointer_declarator "*param_2" (* "*") (identifier "param_2")))) (, ",") (parameter_declaration "undefined *param_3" (type_identifier "undefined") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "undefined *param_4" (type_identifier "undefined") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) () ")")))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  undefined *puVar3;\n  int iVar4;\n  int extraout_v1;\n  undefined *extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  undefined *extraout_v1_03;\n  int extraout_v1_04;\n  undefined *extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  undefined *extraout_v1_08;\n  int extraout_v1_09;\n  undefined *extraout_v1_10;\n  int extraout_v1_11;\n  int extraout_v1_12;\n  undefined *extraout_v1_13;\n  undefined **ppuVar5;\n  undefined **ppuVar6;\n  int iVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  int iVar11;\n  int iVar12;\n  undefined *unaff_s0;\n  int iVar13;\n  int *piVar14;\n  int *piVar15;\n  undefined **unaff_s2;\n  undefined4 unaff_s3;\n  undefined4 uVar16;\n  undefined *unaff_s4;\n  undefined *unaff_s5;\n  undefined *puVar17;\n  undefined *unaff_s6;\n  undefined *puVar18;\n  code *pcVar19;\n  code *pcVar20;\n  undefined8 uVar21;\n  undefined4 uStack_110;\n  undefined4 uStack_10c;\n  undefined *puStack_104;\n  undefined **ppuStack_100;\n  undefined *puStack_fc;\n  undefined4 uStack_f8;\n  undefined *puStack_f4;\n  undefined4 *puStack_f0;\n  int iStack_ec;\n  undefined *puStack_e8;\n  int *piStack_e4;\n  undefined **ppuStack_e0;\n  undefined *puStack_dc;\n  undefined *puStack_d8;\n  undefined *puStack_d4;\n  undefined *puStack_d0;\n  code *pcStack_cc;\n  undefined *puStack_b8;\n  undefined4 uStack_b0;\n  undefined4 uStack_ac;\n  undefined *puStack_a8;\n  undefined **ppuStack_a4;\n  undefined *puStack_a0;\n  undefined *puStack_9c;\n  undefined *puStack_98;\n  undefined *puStack_94;\n  undefined4 *puStack_90;\n  undefined *puStack_8c;\n  undefined *puStack_88;\n  undefined *puStack_84;\n  undefined **ppuStack_80;\n  undefined4 uStack_7c;\n  undefined *puStack_78;\n  undefined *puStack_74;\n  undefined *puStack_70;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined *local_3c;\n  undefined **local_38;\n  undefined *local_34;\n  undefined4 local_30;\n  undefined *local_2c;\n  undefined4 *local_28;\n  undefined *local_24;\n  \n  puVar9 = PTR___stack_chk_guard_003a9230;\n  local_24 = *(undefined **)PTR___stack_chk_guard_003a9230;\n  if (param_1 == (undefined *)0x0) {\nLAB_000ff904:\n    puVar8 = (undefined *)0x37a;\n    param_4 = PTR_s_t_to_left_003a88e4 + -0x4fec;\n    ppuVar5 = (undefined **)(PTR_s_t_to_left_003a88e4 + -0x5168);\n    puVar10 = PTR_s_t_to_left_003a88e4 + -0x5080;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }\n  else {\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x24) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);\n      goto LAB_000ff904;\n    }\n    ppuVar5 = param_2;\n    puVar8 = param_3;\n    if (param_2 == (undefined **)0x0) {\nLAB_000ff6d0:\n      puVar3 = (undefined *)0x0;\n      param_3 = unaff_s4;\n    }\n    else {\n      unaff_s3 = *(undefined4 *)(param_1 + 0x14);\n      ppuVar5 = (undefined **)0x1;\n      puVar8 = *(undefined **)(param_1 + 0x1c);\n      iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = param_3;\n      if (iVar2 == 0) goto LAB_000ff6d0;\n      unaff_s5 = *(undefined **)(param_1 + 8);\n      unaff_s6 = *(undefined **)(param_1 + 0x10);\n      local_44 = 0;\n      local_48 = 0;\n      iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))) {\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }\nLAB_000ff780:\n      param_4 = (undefined *)0x0;\n      local_2c = (undefined *)0x1;\n      local_28 = &local_48;\n      ppuVar5 = &local_3c;\n      local_3c = param_1;\n      local_38 = param_2;\n      local_34 = param_3;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      puVar3 = local_2c;\n    }\n    puVar10 = local_24;\n    unaff_s2 = param_2;\n    unaff_s4 = param_3;\n    if (local_24 == *(undefined **)puVar9) {\n      return puVar3;\n    }\n  }\n  puVar3 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  puStack_b8 = puVar3 + 0x2b0f7c;\n  puStack_84 = puVar9;\n  piVar14 = *(int **)(puVar3 + 0x2a98fc);\n  puStack_8c = (undefined *)*piVar14;\n  puStack_88 = unaff_s0;\n  ppuStack_80 = unaff_s2;\n  uStack_7c = unaff_s3;\n  puStack_78 = unaff_s4;\n  puStack_74 = unaff_s5;\n  puStack_70 = unaff_s6;\n  if (puVar10 == (undefined *)0x0) {\n    puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb0) + -0x50fc,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fa,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);\n    return puVar9;\n  }\n  if (*(int *)(puVar10 + 0x24) != -0x54535255) {\n    puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb4) + 0x3930,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fb,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);\n    return puVar9;\n  }\n  ppuVar6 = ppuVar5;\n  puVar9 = puVar8;\n  puVar18 = unaff_s6;\n  if (puVar8 == (undefined *)0x0) {\nLAB_000ff9c8:\n    puVar3 = (undefined *)0x0;\n    ppuVar5 = unaff_s2;\n    param_4 = unaff_s4;\n  }\n  else {\n    puVar17 = ppuVar5[5];\n    ppuVar6 = (undefined **)0x1;\n    puVar9 = ppuVar5[7];\n    puVar18 = *(undefined **)(puVar10 + 0x14);\n    iVar2 = (**(code **)(puVar3 + 0x2a9ef0))(puVar17);\n    unaff_s2 = ppuVar5;\n    unaff_s4 = param_4;\n    unaff_s5 = puVar17;\n    if (iVar2 == 0) goto LAB_000ff9c8;\n    iVar13 = *(int *)(puVar10 + 8);\n    iVar4 = *(int *)(puVar10 + 0x10);\n    uStack_ac = 0;\n    uStack_b0 = 0;\n    iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18);\n    if (((iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)) &&\n       ((iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)))) {\n      iVar13 = iVar13 - iVar4;\n      (**(code **)(puStack_b8 + -0x7774))(7);\n      iVar2 = iVar13;\n      if (iVar13 < 0) {\n        iVar2 = iVar13 + 0x3f;\n      }\n      unaff_s5 = (undefined *)(iVar2 >> 6);\n      if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar13 < 0x80;\n      }\n      puVar9 = (undefined *)0x1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        puVar17 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n    }\n    else {\n      uVar21 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar21 = (*pcVar19)(7);\n      if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (undefined *)0x2;\n      }\nLAB_000ffa7c:\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n      puVar9 = unaff_s5;\n      unaff_s5 = puVar17;\n    }\n    puStack_94 = (undefined *)0x1;\n    puStack_90 = &uStack_b0;\n    ppuVar6 = &puStack_a8;\n    puStack_a8 = puVar10;\n    ppuStack_a4 = ppuVar5;\n    puStack_a0 = puVar8;\n    puStack_9c = param_4;\n    puStack_98 = puVar18;\n    (**(code **)(puStack_b8 + -0x7718))(iVar2 + -0x1ecc,ppuVar6,puVar9,0);\n    puVar3 = puStack_94;\n  }\n  if (puStack_8c == (undefined *)*piVar14) {\n    return puVar3;\n  }\n  pcVar19 = *(code **)(puStack_b8 + -0x784c);\n  pcVar20 = UpdateImageViewIterator;\n  puVar3 = puStack_8c;\n  (*pcVar19)();\n  piVar15 = *(int **)(pcVar19 + 0x2a95f8);\n  iStack_ec = *piVar15;\n  puStack_e8 = puVar10;\n  piStack_e4 = piVar14;\n  ppuStack_e0 = ppuVar5;\n  puStack_dc = puVar8;\n  puStack_d8 = param_4;\n  puStack_d4 = unaff_s5;\n  puStack_d0 = puVar18;\n  pcStack_cc = pcVar20;\n  if (puVar3 != (undefined *)0x0) {\n    if (*(int *)(puVar3 + 0x24) == -0x54535255) {\n      ppuVar5 = ppuVar6;\n      puVar10 = puVar9;\n      if (ppuVar6 == (undefined **)0x0) {\nLAB_000ffcbc:\n        puVar9 = (undefined *)0x0;\n      }\n      else {\n        uVar16 = *(undefined4 *)(puVar3 + 0x14);\n        ppuVar5 = (undefined **)0x1;\n        puVar10 = *(undefined **)(puVar3 + 0x1c);\n        iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);\n        if (iVar2 == 0) goto LAB_000ffcbc;\n        iVar13 = *(int *)(puVar3 + 8);\n        iVar4 = *(int *)(puVar3 + 0x10);\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);\n        if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }\n        puStack_f4 = (undefined *)0x1;\n        puStack_f0 = &uStack_110;\n        ppuVar5 = &puStack_104;\n        puStack_104 = puVar3;\n        ppuStack_100 = ppuVar6;\n        puStack_fc = puVar9;\n        uStack_f8 = uVar16;\n        (**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);\n        puVar9 = puStack_f4;\n      }\n      iVar2 = iStack_ec;\n      if (iStack_ec == *piVar15) {\n        return puVar9;\n      }\n      goto LAB_000fff14;\n    }\n    (**(code **)(pcVar19 + 0x2a99d0))\n              (*(int *)(pcVar19 + 0x2a8cb0) + 0x3930,*(int *)(pcVar19 + 0x2a8cac) + -0x5168,0x481,\n               *(int *)(pcVar19 + 0x2a8cac) + -0x5020);\n  }\n  puVar10 = (undefined *)0x480;\n  ppuVar5 = (undefined **)(*(int *)(pcVar19 + 0x2a8cac) + -0x5168);\n  iVar2 = *(int *)(pcVar19 + 0x2a8cac) + -0x50fc;\n  (**(code **)(pcVar19 + 0x2a99d0))();\nLAB_000fff14:\n  pcVar19 = *(code **)(pcVar19 + 0x2a942c);\n  (*pcVar19)();\n  if (*(int *)(iVar2 + 700) == 0) {\n    (**(code **)(pcVar19 + 0x2a8df4))();\n  }\n  puVar9 = ppuVar5[1];\n  iVar13 = 0;\n  if (0 < (int)puVar9) {\n    do {\n      iVar4 = (**(code **)(pcVar19 + 0x2a8e18))\n                        (iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      puVar8 = *ppuVar5;\n      puVar9 = (undefined *)0x0;\n      if (0 < (int)puVar8) {\n        iVar12 = *(int *)(iVar2 + 0x2d0);\n        iVar7 = *(int *)(iVar2 + 0x2c0);\n        iVar11 = *(int *)(iVar12 + 0x34);\n        do {\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        } while (puVar9 != puVar8);\n      }\n      iVar4 = (**(code **)(pcVar19 + 0x2a92c4))(iVar2,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      iVar13 = iVar13 + 1;\n      puVar9 = (undefined *)(uint)(iVar13 < (int)ppuVar5[1]);\n    } while (puVar9 != (undefined *)0x0);\n  }\n  return puVar9;\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int extraout_v1;" (primitive_type "int") (identifier "extraout_v1") (; ";")) (declaration "undefined *extraout_v1_00;" (type_identifier "undefined") (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 "undefined *extraout_v1_03;" (type_identifier "undefined") (pointer_declarator "*extraout_v1_03" (* "*") (identifier "extraout_v1_03")) (; ";")) (declaration "int extraout_v1_04;" (primitive_type "int") (identifier "extraout_v1_04") (; ";")) (declaration "undefined *extraout_v1_05;" (type_identifier "undefined") (pointer_declarator "*extraout_v1_05" (* "*") (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 "undefined *extraout_v1_08;" (type_identifier "undefined") (pointer_declarator "*extraout_v1_08" (* "*") (identifier "extraout_v1_08")) (; ";")) (declaration "int extraout_v1_09;" (primitive_type "int") (identifier "extraout_v1_09") (; ";")) (declaration "undefined *extraout_v1_10;" (type_identifier "undefined") (pointer_declarator "*extraout_v1_10" (* "*") (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 "undefined *extraout_v1_13;" (type_identifier "undefined") (pointer_declarator "*extraout_v1_13" (* "*") (identifier "extraout_v1_13")) (; ";")) (declaration "undefined **ppuVar5;" (type_identifier "undefined") (pointer_declarator "**ppuVar5" (* "*") (pointer_declarator "*ppuVar5" (* "*") (identifier "ppuVar5"))) (; ";")) (declaration "undefined **ppuVar6;" (type_identifier "undefined") (pointer_declarator "**ppuVar6" (* "*") (pointer_declarator "*ppuVar6" (* "*") (identifier "ppuVar6"))) (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "undefined *puVar8;" (type_identifier "undefined") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "undefined *puVar9;" (type_identifier "undefined") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "undefined *puVar10;" (type_identifier "undefined") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "undefined *unaff_s0;" (type_identifier "undefined") (pointer_declarator "*unaff_s0" (* "*") (identifier "unaff_s0")) (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "int *piVar14;" (primitive_type "int") (pointer_declarator "*piVar14" (* "*") (identifier "piVar14")) (; ";")) (declaration "int *piVar15;" (primitive_type "int") (pointer_declarator "*piVar15" (* "*") (identifier "piVar15")) (; ";")) (declaration "undefined **unaff_s2;" (type_identifier "undefined") (pointer_declarator "**unaff_s2" (* "*") (pointer_declarator "*unaff_s2" (* "*") (identifier "unaff_s2"))) (; ";")) (declaration "undefined4 unaff_s3;" (type_identifier "undefined4") (identifier "unaff_s3") (; ";")) (declaration "undefined4 uVar16;" (type_identifier "undefined4") (identifier "uVar16") (; ";")) (declaration "undefined *unaff_s4;" (type_identifier "undefined") (pointer_declarator "*unaff_s4" (* "*") (identifier "unaff_s4")) (; ";")) (declaration "undefined *unaff_s5;" (type_identifier "undefined") (pointer_declarator "*unaff_s5" (* "*") (identifier "unaff_s5")) (; ";")) (declaration "undefined *puVar17;" (type_identifier "undefined") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "undefined *unaff_s6;" (type_identifier "undefined") (pointer_declarator "*unaff_s6" (* "*") (identifier "unaff_s6")) (; ";")) (declaration "undefined *puVar18;" (type_identifier "undefined") (pointer_declarator "*puVar18" (* "*") (identifier "puVar18")) (; ";")) (declaration "code *pcVar19;" (type_identifier "code") (pointer_declarator "*pcVar19" (* "*") (identifier "pcVar19")) (; ";")) (declaration "code *pcVar20;" (type_identifier "code") (pointer_declarator "*pcVar20" (* "*") (identifier "pcVar20")) (; ";")) (declaration "undefined8 uVar21;" (type_identifier "undefined8") (identifier "uVar21") (; ";")) (declaration "undefined4 uStack_110;" (type_identifier "undefined4") (identifier "uStack_110") (; ";")) (declaration "undefined4 uStack_10c;" (type_identifier "undefined4") (identifier "uStack_10c") (; ";")) (declaration "undefined *puStack_104;" (type_identifier "undefined") (pointer_declarator "*puStack_104" (* "*") (identifier "puStack_104")) (; ";")) (declaration "undefined **ppuStack_100;" (type_identifier "undefined") (pointer_declarator "**ppuStack_100" (* "*") (pointer_declarator "*ppuStack_100" (* "*") (identifier "ppuStack_100"))) (; ";")) (declaration "undefined *puStack_fc;" (type_identifier "undefined") (pointer_declarator "*puStack_fc" (* "*") (identifier "puStack_fc")) (; ";")) (declaration "undefined4 uStack_f8;" (type_identifier "undefined4") (identifier "uStack_f8") (; ";")) (declaration "undefined *puStack_f4;" (type_identifier "undefined") (pointer_declarator "*puStack_f4" (* "*") (identifier "puStack_f4")) (; ";")) (declaration "undefined4 *puStack_f0;" (type_identifier "undefined4") (pointer_declarator "*puStack_f0" (* "*") (identifier "puStack_f0")) (; ";")) (declaration "int iStack_ec;" (primitive_type "int") (identifier "iStack_ec") (; ";")) (declaration "undefined *puStack_e8;" (type_identifier "undefined") (pointer_declarator "*puStack_e8" (* "*") (identifier "puStack_e8")) (; ";")) (declaration "int *piStack_e4;" (primitive_type "int") (pointer_declarator "*piStack_e4" (* "*") (identifier "piStack_e4")) (; ";")) (declaration "undefined **ppuStack_e0;" (type_identifier "undefined") (pointer_declarator "**ppuStack_e0" (* "*") (pointer_declarator "*ppuStack_e0" (* "*") (identifier "ppuStack_e0"))) (; ";")) (declaration "undefined *puStack_dc;" (type_identifier "undefined") (pointer_declarator "*puStack_dc" (* "*") (identifier "puStack_dc")) (; ";")) (declaration "undefined *puStack_d8;" (type_identifier "undefined") (pointer_declarator "*puStack_d8" (* "*") (identifier "puStack_d8")) (; ";")) (declaration "undefined *puStack_d4;" (type_identifier "undefined") (pointer_declarator "*puStack_d4" (* "*") (identifier "puStack_d4")) (; ";")) (declaration "undefined *puStack_d0;" (type_identifier "undefined") (pointer_declarator "*puStack_d0" (* "*") (identifier "puStack_d0")) (; ";")) (declaration "code *pcStack_cc;" (type_identifier "code") (pointer_declarator "*pcStack_cc" (* "*") (identifier "pcStack_cc")) (; ";")) (declaration "undefined *puStack_b8;" (type_identifier "undefined") (pointer_declarator "*puStack_b8" (* "*") (identifier "puStack_b8")) (; ";")) (declaration "undefined4 uStack_b0;" (type_identifier "undefined4") (identifier "uStack_b0") (; ";")) (declaration "undefined4 uStack_ac;" (type_identifier "undefined4") (identifier "uStack_ac") (; ";")) (declaration "undefined *puStack_a8;" (type_identifier "undefined") (pointer_declarator "*puStack_a8" (* "*") (identifier "puStack_a8")) (; ";")) (declaration "undefined **ppuStack_a4;" (type_identifier "undefined") (pointer_declarator "**ppuStack_a4" (* "*") (pointer_declarator "*ppuStack_a4" (* "*") (identifier "ppuStack_a4"))) (; ";")) (declaration "undefined *puStack_a0;" (type_identifier "undefined") (pointer_declarator "*puStack_a0" (* "*") (identifier "puStack_a0")) (; ";")) (declaration "undefined *puStack_9c;" (type_identifier "undefined") (pointer_declarator "*puStack_9c" (* "*") (identifier "puStack_9c")) (; ";")) (declaration "undefined *puStack_98;" (type_identifier "undefined") (pointer_declarator "*puStack_98" (* "*") (identifier "puStack_98")) (; ";")) (declaration "undefined *puStack_94;" (type_identifier "undefined") (pointer_declarator "*puStack_94" (* "*") (identifier "puStack_94")) (; ";")) (declaration "undefined4 *puStack_90;" (type_identifier "undefined4") (pointer_declarator "*puStack_90" (* "*") (identifier "puStack_90")) (; ";")) (declaration "undefined *puStack_8c;" (type_identifier "undefined") (pointer_declarator "*puStack_8c" (* "*") (identifier "puStack_8c")) (; ";")) (declaration "undefined *puStack_88;" (type_identifier "undefined") (pointer_declarator "*puStack_88" (* "*") (identifier "puStack_88")) (; ";")) (declaration "undefined *puStack_84;" (type_identifier "undefined") (pointer_declarator "*puStack_84" (* "*") (identifier "puStack_84")) (; ";")) (declaration "undefined **ppuStack_80;" (type_identifier "undefined") (pointer_declarator "**ppuStack_80" (* "*") (pointer_declarator "*ppuStack_80" (* "*") (identifier "ppuStack_80"))) (; ";")) (declaration "undefined4 uStack_7c;" (type_identifier "undefined4") (identifier "uStack_7c") (; ";")) (declaration "undefined *puStack_78;" (type_identifier "undefined") (pointer_declarator "*puStack_78" (* "*") (identifier "puStack_78")) (; ";")) (declaration "undefined *puStack_74;" (type_identifier "undefined") (pointer_declarator "*puStack_74" (* "*") (identifier "puStack_74")) (; ";")) (declaration "undefined *puStack_70;" (type_identifier "undefined") (pointer_declarator "*puStack_70" (* "*") (identifier "puStack_70")) (; ";")) (declaration "undefined4 local_48;" (type_identifier "undefined4") (identifier "local_48") (; ";")) (declaration "undefined4 local_44;" (type_identifier "undefined4") (identifier "local_44") (; ";")) (declaration "undefined *local_3c;" (type_identifier "undefined") (pointer_declarator "*local_3c" (* "*") (identifier "local_3c")) (; ";")) (declaration "undefined **local_38;" (type_identifier "undefined") (pointer_declarator "**local_38" (* "*") (pointer_declarator "*local_38" (* "*") (identifier "local_38"))) (; ";")) (declaration "undefined *local_34;" (type_identifier "undefined") (pointer_declarator "*local_34" (* "*") (identifier "local_34")) (; ";")) (declaration "undefined4 local_30;" (type_identifier "undefined4") (identifier "local_30") (; ";")) (declaration "undefined *local_2c;" (type_identifier "undefined") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")) (; ";")) (declaration "undefined4 *local_28;" (type_identifier "undefined4") (pointer_declarator "*local_28" (* "*") (identifier "local_28")) (; ";")) (declaration "undefined *local_24;" (type_identifier "undefined") (pointer_declarator "*local_24" (* "*") (identifier "local_24")) (; ";")) (expression_statement "puVar9 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar9 = PTR___stack_chk_guard_003a9230" (identifier "puVar9") (= "=") (identifier "PTR___stack_chk_guard_003a9230")) (; ";")) (expression_statement "local_24 = *(undefined **)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_24 = *(undefined **)PTR___stack_chk_guard_003a9230" (identifier "local_24") (= "=") (pointer_expression "*(undefined **)PTR___stack_chk_guard_003a9230" (* "*") (cast_expression "(undefined **)PTR___stack_chk_guard_003a9230" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR___stack_chk_guard_003a9230")))) (; ";")) (if_statement "if (param_1 == (undefined *)0x0) {\nLAB_000ff904:\n    puVar8 = (undefined *)0x37a;\n    param_4 = PTR_s_t_to_left_003a88e4 + -0x4fec;\n    ppuVar5 = (undefined **)(PTR_s_t_to_left_003a88e4 + -0x5168);\n    puVar10 = PTR_s_t_to_left_003a88e4 + -0x5080;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }\n  else {\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x24) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);\n      goto LAB_000ff904;\n    }\n    ppuVar5 = param_2;\n    puVar8 = param_3;\n    if (param_2 == (undefined **)0x0) {\nLAB_000ff6d0:\n      puVar3 = (undefined *)0x0;\n      param_3 = unaff_s4;\n    }\n    else {\n      unaff_s3 = *(undefined4 *)(param_1 + 0x14);\n      ppuVar5 = (undefined **)0x1;\n      puVar8 = *(undefined **)(param_1 + 0x1c);\n      iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = param_3;\n      if (iVar2 == 0) goto LAB_000ff6d0;\n      unaff_s5 = *(undefined **)(param_1 + 8);\n      unaff_s6 = *(undefined **)(param_1 + 0x10);\n      local_44 = 0;\n      local_48 = 0;\n      iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))) {\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }\nLAB_000ff780:\n      param_4 = (undefined *)0x0;\n      local_2c = (undefined *)0x1;\n      local_28 = &local_48;\n      ppuVar5 = &local_3c;\n      local_3c = param_1;\n      local_38 = param_2;\n      local_34 = param_3;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      puVar3 = local_2c;\n    }\n    puVar10 = local_24;\n    unaff_s2 = param_2;\n    unaff_s4 = param_3;\n    if (local_24 == *(undefined **)puVar9) {\n      return puVar3;\n    }\n  }" (if "if") (parenthesized_expression "(param_1 == (undefined *)0x0)" (( "(") (binary_expression "param_1 == (undefined *)0x0" (identifier "param_1") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_000ff904:\n    puVar8 = (undefined *)0x37a;\n    param_4 = PTR_s_t_to_left_003a88e4 + -0x4fec;\n    ppuVar5 = (undefined **)(PTR_s_t_to_left_003a88e4 + -0x5168);\n    puVar10 = PTR_s_t_to_left_003a88e4 + -0x5080;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }" ({ "{") (labeled_statement "LAB_000ff904:\n    puVar8 = (undefined *)0x37a;" (statement_identifier "LAB_000ff904") (: ":") (expression_statement "puVar8 = (undefined *)0x37a;" (assignment_expression "puVar8 = (undefined *)0x37a" (identifier "puVar8") (= "=") (cast_expression "(undefined *)0x37a" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x37a"))) (; ";"))) (expression_statement "param_4 = PTR_s_t_to_left_003a88e4 + -0x4fec;" (assignment_expression "param_4 = PTR_s_t_to_left_003a88e4 + -0x4fec" (identifier "param_4") (= "=") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4fec" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x4fec"))) (; ";")) (expression_statement "ppuVar5 = (undefined **)(PTR_s_t_to_left_003a88e4 + -0x5168);" (assignment_expression "ppuVar5 = (undefined **)(PTR_s_t_to_left_003a88e4 + -0x5168)" (identifier "ppuVar5") (= "=") (cast_expression "(undefined **)(PTR_s_t_to_left_003a88e4 + -0x5168)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_s_t_to_left_003a88e4 + -0x5168)" (( "(") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5168" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x5168")) () ")")))) (; ";")) (expression_statement "puVar10 = PTR_s_t_to_left_003a88e4 + -0x5080;" (assignment_expression "puVar10 = PTR_s_t_to_left_003a88e4 + -0x5080" (identifier "puVar10") (= "=") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5080" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x5080"))) (; ";")) (expression_statement "(*(code *)PTR___assert_fail_003a9608)();" (call_expression "(*(code *)PTR___assert_fail_003a9608)()" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003a9608" (* "*") (cast_expression "(code *)PTR___assert_fail_003a9608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003a9608"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x24) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);\n      goto LAB_000ff904;\n    }\n    ppuVar5 = param_2;\n    puVar8 = param_3;\n    if (param_2 == (undefined **)0x0) {\nLAB_000ff6d0:\n      puVar3 = (undefined *)0x0;\n      param_3 = unaff_s4;\n    }\n    else {\n      unaff_s3 = *(undefined4 *)(param_1 + 0x14);\n      ppuVar5 = (undefined **)0x1;\n      puVar8 = *(undefined **)(param_1 + 0x1c);\n      iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = param_3;\n      if (iVar2 == 0) goto LAB_000ff6d0;\n      unaff_s5 = *(undefined **)(param_1 + 8);\n      unaff_s6 = *(undefined **)(param_1 + 0x10);\n      local_44 = 0;\n      local_48 = 0;\n      iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))) {\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }\nLAB_000ff780:\n      param_4 = (undefined *)0x0;\n      local_2c = (undefined *)0x1;\n      local_28 = &local_48;\n      ppuVar5 = &local_3c;\n      local_3c = param_1;\n      local_38 = param_2;\n      local_34 = param_3;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      puVar3 = local_2c;\n    }\n    puVar10 = local_24;\n    unaff_s2 = param_2;\n    unaff_s4 = param_3;\n    if (local_24 == *(undefined **)puVar9) {\n      return puVar3;\n    }\n  }" (else "else") (compound_statement "{\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x24) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);\n      goto LAB_000ff904;\n    }\n    ppuVar5 = param_2;\n    puVar8 = param_3;\n    if (param_2 == (undefined **)0x0) {\nLAB_000ff6d0:\n      puVar3 = (undefined *)0x0;\n      param_3 = unaff_s4;\n    }\n    else {\n      unaff_s3 = *(undefined4 *)(param_1 + 0x14);\n      ppuVar5 = (undefined **)0x1;\n      puVar8 = *(undefined **)(param_1 + 0x1c);\n      iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = param_3;\n      if (iVar2 == 0) goto LAB_000ff6d0;\n      unaff_s5 = *(undefined **)(param_1 + 8);\n      unaff_s6 = *(undefined **)(param_1 + 0x10);\n      local_44 = 0;\n      local_48 = 0;\n      iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))) {\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }\nLAB_000ff780:\n      param_4 = (undefined *)0x0;\n      local_2c = (undefined *)0x1;\n      local_28 = &local_48;\n      ppuVar5 = &local_3c;\n      local_3c = param_1;\n      local_38 = param_2;\n      local_34 = param_3;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      puVar3 = local_2c;\n    }\n    puVar10 = local_24;\n    unaff_s2 = param_2;\n    unaff_s4 = param_3;\n    if (local_24 == *(undefined **)puVar9) {\n      return puVar3;\n    }\n  }" ({ "{") (expression_statement "unaff_s0 = param_1;" (assignment_expression "unaff_s0 = param_1" (identifier "unaff_s0") (= "=") (identifier "param_1")) (; ";")) (if_statement "if (*(int *)(param_1 + 0x24) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);\n      goto LAB_000ff904;\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x24) != -0x54535255)" (( "(") (binary_expression "*(int *)(param_1 + 0x24) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x24)" (* "*") (cast_expression "(int *)(param_1 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);\n      goto LAB_000ff904;\n    }" ({ "{") (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003a9608" (* "*") (cast_expression "(code *)PTR___assert_fail_003a9608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003a9608"))) () ")")) (argument_list "(PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,\n                 PTR_s_t_to_left_003a88e4 + -0x4fec)" (( "(") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x505c" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x505c")) (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5168" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x5168")) (, ",") (number_literal "0x37b") (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4fec" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x4fec")) () ")"))) (; ";")) (goto_statement "goto LAB_000ff904;" (goto "goto") (statement_identifier "LAB_000ff904") (; ";")) (} "}"))) (expression_statement "ppuVar5 = param_2;" (assignment_expression "ppuVar5 = param_2" (identifier "ppuVar5") (= "=") (identifier "param_2")) (; ";")) (expression_statement "puVar8 = param_3;" (assignment_expression "puVar8 = param_3" (identifier "puVar8") (= "=") (identifier "param_3")) (; ";")) (if_statement "if (param_2 == (undefined **)0x0) {\nLAB_000ff6d0:\n      puVar3 = (undefined *)0x0;\n      param_3 = unaff_s4;\n    }\n    else {\n      unaff_s3 = *(undefined4 *)(param_1 + 0x14);\n      ppuVar5 = (undefined **)0x1;\n      puVar8 = *(undefined **)(param_1 + 0x1c);\n      iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = param_3;\n      if (iVar2 == 0) goto LAB_000ff6d0;\n      unaff_s5 = *(undefined **)(param_1 + 8);\n      unaff_s6 = *(undefined **)(param_1 + 0x10);\n      local_44 = 0;\n      local_48 = 0;\n      iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))) {\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }\nLAB_000ff780:\n      param_4 = (undefined *)0x0;\n      local_2c = (undefined *)0x1;\n      local_28 = &local_48;\n      ppuVar5 = &local_3c;\n      local_3c = param_1;\n      local_38 = param_2;\n      local_34 = param_3;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      puVar3 = local_2c;\n    }" (if "if") (parenthesized_expression "(param_2 == (undefined **)0x0)" (( "(") (binary_expression "param_2 == (undefined **)0x0" (identifier "param_2") (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_000ff6d0:\n      puVar3 = (undefined *)0x0;\n      param_3 = unaff_s4;\n    }" ({ "{") (labeled_statement "LAB_000ff6d0:\n      puVar3 = (undefined *)0x0;" (statement_identifier "LAB_000ff6d0") (: ":") (expression_statement "puVar3 = (undefined *)0x0;" (assignment_expression "puVar3 = (undefined *)0x0" (identifier "puVar3") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "param_3 = unaff_s4;" (assignment_expression "param_3 = unaff_s4" (identifier "param_3") (= "=") (identifier "unaff_s4")) (; ";")) (} "}")) (else_clause "else {\n      unaff_s3 = *(undefined4 *)(param_1 + 0x14);\n      ppuVar5 = (undefined **)0x1;\n      puVar8 = *(undefined **)(param_1 + 0x1c);\n      iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = param_3;\n      if (iVar2 == 0) goto LAB_000ff6d0;\n      unaff_s5 = *(undefined **)(param_1 + 8);\n      unaff_s6 = *(undefined **)(param_1 + 0x10);\n      local_44 = 0;\n      local_48 = 0;\n      iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))) {\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }\nLAB_000ff780:\n      param_4 = (undefined *)0x0;\n      local_2c = (undefined *)0x1;\n      local_28 = &local_48;\n      ppuVar5 = &local_3c;\n      local_3c = param_1;\n      local_38 = param_2;\n      local_34 = param_3;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      puVar3 = local_2c;\n    }" (else "else") (compound_statement "{\n      unaff_s3 = *(undefined4 *)(param_1 + 0x14);\n      ppuVar5 = (undefined **)0x1;\n      puVar8 = *(undefined **)(param_1 + 0x1c);\n      iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);\n      unaff_s4 = param_3;\n      if (iVar2 == 0) goto LAB_000ff6d0;\n      unaff_s5 = *(undefined **)(param_1 + 8);\n      unaff_s6 = *(undefined **)(param_1 + 0x10);\n      local_44 = 0;\n      local_48 = 0;\n      iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);\n      if (((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))) {\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }\nLAB_000ff780:\n      param_4 = (undefined *)0x0;\n      local_2c = (undefined *)0x1;\n      local_28 = &local_48;\n      ppuVar5 = &local_3c;\n      local_3c = param_1;\n      local_38 = param_2;\n      local_34 = param_3;\n      local_30 = unaff_s3;\n      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);\n      puVar3 = local_2c;\n    }" ({ "{") (expression_statement "unaff_s3 = *(undefined4 *)(param_1 + 0x14);" (assignment_expression "unaff_s3 = *(undefined4 *)(param_1 + 0x14)" (identifier "unaff_s3") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x14)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "ppuVar5 = (undefined **)0x1;" (assignment_expression "ppuVar5 = (undefined **)0x1" (identifier "ppuVar5") (= "=") (cast_expression "(undefined **)0x1" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "puVar8 = *(undefined **)(param_1 + 0x1c);" (assignment_expression "puVar8 = *(undefined **)(param_1 + 0x1c)" (identifier "puVar8") (= "=") (pointer_expression "*(undefined **)(param_1 + 0x1c)" (* "*") (cast_expression "(undefined **)(param_1 + 0x1c)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);" (assignment_expression "iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3)" (parenthesized_expression "(*(code *)PTR_SetImageStorageClass_003a9824)" (( "(") (pointer_expression "*(code *)PTR_SetImageStorageClass_003a9824" (* "*") (cast_expression "(code *)PTR_SetImageStorageClass_003a9824" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_SetImageStorageClass_003a9824"))) () ")")) (argument_list "(unaff_s3)" (( "(") (identifier "unaff_s3") () ")")))) (; ";")) (expression_statement "unaff_s4 = param_3;" (assignment_expression "unaff_s4 = param_3" (identifier "unaff_s4") (= "=") (identifier "param_3")) (; ";")) (if_statement "if (iVar2 == 0) goto LAB_000ff6d0;" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000ff6d0;" (goto "goto") (statement_identifier "LAB_000ff6d0") (; ";"))) (expression_statement "unaff_s5 = *(undefined **)(param_1 + 8);" (assignment_expression "unaff_s5 = *(undefined **)(param_1 + 8)" (identifier "unaff_s5") (= "=") (pointer_expression "*(undefined **)(param_1 + 8)" (* "*") (cast_expression "(undefined **)(param_1 + 8)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "unaff_s6 = *(undefined **)(param_1 + 0x10);" (assignment_expression "unaff_s6 = *(undefined **)(param_1 + 0x10)" (identifier "unaff_s6") (= "=") (pointer_expression "*(undefined **)(param_1 + 0x10)" (* "*") (cast_expression "(undefined **)(param_1 + 0x10)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" (identifier "local_44") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" (identifier "local_48") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);" (assignment_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" (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 "(unaff_s3)" (( "(") (identifier "unaff_s3") () ")")))) (; ";")) (if_statement "if (((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))) {\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }\n      else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }" (if "if") (parenthesized_expression "(((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3))))" (( "(") (binary_expression "((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&\n         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))" (parenthesized_expression "((iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3))" (( "(") (binary_expression "(iVar2 == 4) ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)" (parenthesized_expression "(iVar2 == 4)" (( "(") (binary_expression "iVar2 == 4" (identifier "iVar2") (== "==") (number_literal "4")) () ")")) (|| "||") (parenthesized_expression "(iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)" (( "(") (comma_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3" (assignment_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" (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 "(unaff_s3)" (( "(") (identifier "unaff_s3") () ")")))) (, ",") (binary_expression "iVar2 == 3" (identifier "iVar2") (== "==") (number_literal "3"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))" (( "(") (parenthesized_expression "(iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3))" (( "(") (comma_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)" (assignment_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" (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 "(unaff_s3)" (( "(") (identifier "unaff_s3") () ")")))) (, ",") (binary_expression "iVar2 == 4 ||\n          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)" (binary_expression "iVar2 == 4" (identifier "iVar2") (== "==") (number_literal "4")) (|| "||") (parenthesized_expression "(iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)" (( "(") (comma_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3" (assignment_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3)" (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 "(unaff_s3)" (( "(") (identifier "unaff_s3") () ")")))) (, ",") (binary_expression "iVar2 == 3" (identifier "iVar2") (== "==") (number_literal "3"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n        iVar13 = (int)unaff_s5 - (int)unaff_s6;\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = iVar13;\n        if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }\n        unaff_s6 = (undefined *)(iVar2 >> 6);\n        if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        unaff_s5 = (undefined *)(bVar1 ^ 1);\n        puVar8 = (undefined *)0x1;\n        if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }\n      }" ({ "{") (expression_statement "iVar13 = (int)unaff_s5 - (int)unaff_s6;" (assignment_expression "iVar13 = (int)unaff_s5 - (int)unaff_s6" (identifier "iVar13") (= "=") (binary_expression "(int)unaff_s5 - (int)unaff_s6" (cast_expression "(int)unaff_s5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s5")) (- "-") (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6")))) (; ";")) (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 "iVar2 = iVar13;" (assignment_expression "iVar2 = iVar13" (identifier "iVar2") (= "=") (identifier "iVar13")) (; ";")) (if_statement "if (iVar13 < 0) {\n          iVar2 = iVar13 + 0x3f;\n        }" (if "if") (parenthesized_expression "(iVar13 < 0)" (( "(") (binary_expression "iVar13 < 0" (identifier "iVar13") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          iVar2 = iVar13 + 0x3f;\n        }" ({ "{") (expression_statement "iVar2 = iVar13 + 0x3f;" (assignment_expression "iVar2 = iVar13 + 0x3f" (identifier "iVar2") (= "=") (binary_expression "iVar13 + 0x3f" (identifier "iVar13") (+ "+") (number_literal "0x3f"))) (; ";")) (} "}"))) (expression_statement "unaff_s6 = (undefined *)(iVar2 >> 6);" (assignment_expression "unaff_s6 = (undefined *)(iVar2 >> 6)" (identifier "unaff_s6") (= "=") (cast_expression "(undefined *)(iVar2 >> 6)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 >> 6)" (( "(") (binary_expression "iVar2 >> 6" (identifier "iVar2") (>> ">>") (number_literal "6")) () ")")))) (; ";")) (if_statement "if (extraout_v1 < (int)unaff_s6) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }" (if "if") (parenthesized_expression "(extraout_v1 < (int)unaff_s6)" (( "(") (binary_expression "extraout_v1 < (int)unaff_s6" (identifier "extraout_v1") (< "<") (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6"))) () ")")) (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 = iVar13 < 0x80;\n        }" (else "else") (compound_statement "{\n          bVar1 = iVar13 < 0x80;\n        }" ({ "{") (expression_statement "bVar1 = iVar13 < 0x80;" (assignment_expression "bVar1 = iVar13 < 0x80" (identifier "bVar1") (= "=") (binary_expression "iVar13 < 0x80" (identifier "iVar13") (< "<") (number_literal "0x80"))) (; ";")) (} "}")))) (expression_statement "unaff_s5 = (undefined *)(bVar1 ^ 1);" (assignment_expression "unaff_s5 = (undefined *)(bVar1 ^ 1)" (identifier "unaff_s5") (= "=") (cast_expression "(undefined *)(bVar1 ^ 1)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(bVar1 ^ 1)" (( "(") (binary_expression "bVar1 ^ 1" (identifier "bVar1") (^ "^") (number_literal "1")) () ")")))) (; ";")) (expression_statement "puVar8 = (undefined *)0x1;" (assignment_expression "puVar8 = (undefined *)0x1" (identifier "puVar8") (= "=") (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (if_statement "if ((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = extraout_v1_03;\n        }" (if "if") (parenthesized_expression "((unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6))" (( "(") (binary_expression "(unaff_s5 != (undefined *)0x0) &&\n           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)" (parenthesized_expression "(unaff_s5 != (undefined *)0x0)" (( "(") (binary_expression "unaff_s5 != (undefined *)0x0" (identifier "unaff_s5") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6)" (( "(") (comma_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6" (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 "puVar8 = unaff_s6,\n           extraout_v1_01 < (int)unaff_s6" (assignment_expression "puVar8 = unaff_s6" (identifier "puVar8") (= "=") (identifier "unaff_s6")) (, ",") (binary_expression "extraout_v1_01 < (int)unaff_s6" (identifier "extraout_v1_01") (< "<") (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6"))))) () ")"))) () ")")) (compound_statement "{\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_03;\n          unaff_s6 = 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 "puVar8 = extraout_v1_03;" (assignment_expression "puVar8 = extraout_v1_03" (identifier "puVar8") (= "=") (identifier "extraout_v1_03")) (; ";")) (expression_statement "unaff_s6 = extraout_v1_03;" (assignment_expression "unaff_s6 = extraout_v1_03" (identifier "unaff_s6") (= "=") (identifier "extraout_v1_03")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }" (else "else") (compound_statement "{\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }\n        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }\n      }" ({ "{") (expression_statement "uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (identifier "uVar21") (= "=") (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)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)" (parenthesized_expression "((int)((ulonglong)uVar21 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar21 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar21 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar21 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar21")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)uVar21 < 2)" (( "(") (binary_expression "(uint)uVar21 < 2" (cast_expression "(uint)uVar21" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar21")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }\n        }" ({ "{") (expression_statement "uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (identifier "uVar21") (= "=") (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)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)" (parenthesized_expression "((int)((ulonglong)uVar21 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar21 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar21 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar21 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar21")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)uVar21 < 2)" (( "(") (binary_expression "(uint)uVar21 < 2" (cast_expression "(uint)uVar21" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar21")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n            puVar8 = (undefined *)0x1;\n            goto LAB_000ff780;\n          }" ({ "{") (expression_statement "puVar8 = (undefined *)0x1;" (assignment_expression "puVar8 = (undefined *)0x1" (identifier "puVar8") (= "=") (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (goto_statement "goto LAB_000ff780;" (goto "goto") (statement_identifier "LAB_000ff780") (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (identifier "uVar21") (= "=") (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)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = extraout_v1_00;\n        }\n        else {\n          puVar8 = (undefined *)0x2;\n        }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)" (parenthesized_expression "((int)((ulonglong)uVar21 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar21 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar21 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar21 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar21")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)uVar21 < 2)" (( "(") (binary_expression "(uint)uVar21 < 2" (cast_expression "(uint)uVar21" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar21")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n          puVar8 = 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 "puVar8 = extraout_v1_00;" (assignment_expression "puVar8 = extraout_v1_00" (identifier "puVar8") (= "=") (identifier "extraout_v1_00")) (; ";")) (} "}")) (else_clause "else {\n          puVar8 = (undefined *)0x2;\n        }" (else "else") (compound_statement "{\n          puVar8 = (undefined *)0x2;\n        }" ({ "{") (expression_statement "puVar8 = (undefined *)0x2;" (assignment_expression "puVar8 = (undefined *)0x2" (identifier "puVar8") (= "=") (cast_expression "(undefined *)0x2" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_000ff780:\n      param_4 = (undefined *)0x0;" (statement_identifier "LAB_000ff780") (: ":") (expression_statement "param_4 = (undefined *)0x0;" (assignment_expression "param_4 = (undefined *)0x0" (identifier "param_4") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "local_2c = (undefined *)0x1;" (assignment_expression "local_2c = (undefined *)0x1" (identifier "local_2c") (= "=") (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "local_28 = &local_48;" (assignment_expression "local_28 = &local_48" (identifier "local_28") (= "=") (pointer_expression "&local_48" (& "&") (identifier "local_48"))) (; ";")) (expression_statement "ppuVar5 = &local_3c;" (assignment_expression "ppuVar5 = &local_3c" (identifier "ppuVar5") (= "=") (pointer_expression "&local_3c" (& "&") (identifier "local_3c"))) (; ";")) (expression_statement "local_3c = param_1;" (assignment_expression "local_3c = param_1" (identifier "local_3c") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_38 = param_2;" (assignment_expression "local_38 = param_2" (identifier "local_38") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_34 = param_3;" (assignment_expression "local_34 = param_3" (identifier "local_34") (= "=") (identifier "param_3")) (; ";")) (expression_statement "local_30 = unaff_s3;" (assignment_expression "local_30 = unaff_s3" (identifier "local_30") (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);" (call_expression "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0)" (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_003a8a94 + -0x20c0)" (( "(") (binary_expression "PTR_LAB_003a8a94 + -0x20c0" (identifier "PTR_LAB_003a8a94") (+ "+") (number_literal "-0x20c0")) () ")"))) (; ";")) (expression_statement "puVar3 = local_2c;" (assignment_expression "puVar3 = local_2c" (identifier "puVar3") (= "=") (identifier "local_2c")) (; ";")) (} "}")))) (expression_statement "puVar10 = local_24;" (assignment_expression "puVar10 = local_24" (identifier "puVar10") (= "=") (identifier "local_24")) (; ";")) (expression_statement "unaff_s2 = param_2;" (assignment_expression "unaff_s2 = param_2" (identifier "unaff_s2") (= "=") (identifier "param_2")) (; ";")) (expression_statement "unaff_s4 = param_3;" (assignment_expression "unaff_s4 = param_3" (identifier "unaff_s4") (= "=") (identifier "param_3")) (; ";")) (if_statement "if (local_24 == *(undefined **)puVar9) {\n      return puVar3;\n    }" (if "if") (parenthesized_expression "(local_24 == *(undefined **)puVar9)" (( "(") (binary_expression "local_24 == *(undefined **)puVar9" (identifier "local_24") (== "==") (pointer_expression "*(undefined **)puVar9" (* "*") (cast_expression "(undefined **)puVar9" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar9")))) () ")")) (compound_statement "{\n      return puVar3;\n    }" ({ "{") (return_statement "return puVar3;" (return "return") (identifier "puVar3") (; ";")) (} "}"))) (} "}")))) (expression_statement "puVar3 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar3 = PTR___stack_chk_fail_003a9064" (identifier "puVar3") (= "=") (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 "puStack_b8 = puVar3 + 0x2b0f7c;" (assignment_expression "puStack_b8 = puVar3 + 0x2b0f7c" (identifier "puStack_b8") (= "=") (binary_expression "puVar3 + 0x2b0f7c" (identifier "puVar3") (+ "+") (number_literal "0x2b0f7c"))) (; ";")) (expression_statement "puStack_84 = puVar9;" (assignment_expression "puStack_84 = puVar9" (identifier "puStack_84") (= "=") (identifier "puVar9")) (; ";")) (expression_statement "piVar14 = *(int **)(puVar3 + 0x2a98fc);" (assignment_expression "piVar14 = *(int **)(puVar3 + 0x2a98fc)" (identifier "piVar14") (= "=") (pointer_expression "*(int **)(puVar3 + 0x2a98fc)" (* "*") (cast_expression "(int **)(puVar3 + 0x2a98fc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar3 + 0x2a98fc)" (( "(") (binary_expression "puVar3 + 0x2a98fc" (identifier "puVar3") (+ "+") (number_literal "0x2a98fc")) () ")"))))) (; ";")) (expression_statement "puStack_8c = (undefined *)*piVar14;" (assignment_expression "puStack_8c = (undefined *)*piVar14" (identifier "puStack_8c") (= "=") (cast_expression "(undefined *)*piVar14" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar14" (* "*") (identifier "piVar14")))) (; ";")) (expression_statement "puStack_88 = unaff_s0;" (assignment_expression "puStack_88 = unaff_s0" (identifier "puStack_88") (= "=") (identifier "unaff_s0")) (; ";")) (expression_statement "ppuStack_80 = unaff_s2;" (assignment_expression "ppuStack_80 = unaff_s2" (identifier "ppuStack_80") (= "=") (identifier "unaff_s2")) (; ";")) (expression_statement "uStack_7c = unaff_s3;" (assignment_expression "uStack_7c = unaff_s3" (identifier "uStack_7c") (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "puStack_78 = unaff_s4;" (assignment_expression "puStack_78 = unaff_s4" (identifier "puStack_78") (= "=") (identifier "unaff_s4")) (; ";")) (expression_statement "puStack_74 = unaff_s5;" (assignment_expression "puStack_74 = unaff_s5" (identifier "puStack_74") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "puStack_70 = unaff_s6;" (assignment_expression "puStack_70 = unaff_s6" (identifier "puStack_70") (= "=") (identifier "unaff_s6")) (; ";")) (if_statement "if (puVar10 == (undefined *)0x0) {\n    puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb0) + -0x50fc,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fa,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);\n    return puVar9;\n  }" (if "if") (parenthesized_expression "(puVar10 == (undefined *)0x0)" (( "(") (binary_expression "puVar10 == (undefined *)0x0" (identifier "puVar10") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb0) + -0x50fc,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fa,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);\n    return puVar9;\n  }" ({ "{") (expression_statement "puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb0) + -0x50fc,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fa,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);" (assignment_expression "puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb0) + -0x50fc,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fa,*(int *)(puVar3 + 0x2a8fb0) + -0x5008)" (identifier "puVar9") (= "=") (cast_expression "(undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb0) + -0x50fc,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fa,*(int *)(puVar3 + 0x2a8fb0) + -0x5008)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb0) + -0x50fc,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fa,*(int *)(puVar3 + 0x2a8fb0) + -0x5008)" (parenthesized_expression "(**(code **)(puVar3 + 0x2a9cd4))" (( "(") (pointer_expression "**(code **)(puVar3 + 0x2a9cd4)" (* "*") (pointer_expression "*(code **)(puVar3 + 0x2a9cd4)" (* "*") (cast_expression "(code **)(puVar3 + 0x2a9cd4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar3 + 0x2a9cd4)" (( "(") (binary_expression "puVar3 + 0x2a9cd4" (identifier "puVar3") (+ "+") (number_literal "0x2a9cd4")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar3 + 0x2a8fb0) + -0x50fc,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fa,*(int *)(puVar3 + 0x2a8fb0) + -0x5008)" (( "(") (binary_expression "*(int *)(puVar3 + 0x2a8fb0) + -0x50fc" (pointer_expression "*(int *)(puVar3 + 0x2a8fb0)" (* "*") (cast_expression "(int *)(puVar3 + 0x2a8fb0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 0x2a8fb0)" (( "(") (binary_expression "puVar3 + 0x2a8fb0" (identifier "puVar3") (+ "+") (number_literal "0x2a8fb0")) () ")")))) (+ "+") (number_literal "-0x50fc")) (, ",") (binary_expression "*(int *)(puVar3 + 0x2a8fb0) + -0x5168" (pointer_expression "*(int *)(puVar3 + 0x2a8fb0)" (* "*") (cast_expression "(int *)(puVar3 + 0x2a8fb0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 0x2a8fb0)" (( "(") (binary_expression "puVar3 + 0x2a8fb0" (identifier "puVar3") (+ "+") (number_literal "0x2a8fb0")) () ")")))) (+ "+") (number_literal "-0x5168")) (, ",") (number_literal "0x3fa") (, ",") (binary_expression "*(int *)(puVar3 + 0x2a8fb0) + -0x5008" (pointer_expression "*(int *)(puVar3 + 0x2a8fb0)" (* "*") (cast_expression "(int *)(puVar3 + 0x2a8fb0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 0x2a8fb0)" (( "(") (binary_expression "puVar3 + 0x2a8fb0" (identifier "puVar3") (+ "+") (number_literal "0x2a8fb0")) () ")")))) (+ "+") (number_literal "-0x5008")) () ")"))))) (; ";")) (return_statement "return puVar9;" (return "return") (identifier "puVar9") (; ";")) (} "}"))) (if_statement "if (*(int *)(puVar10 + 0x24) != -0x54535255) {\n    puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb4) + 0x3930,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fb,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);\n    return puVar9;\n  }" (if "if") (parenthesized_expression "(*(int *)(puVar10 + 0x24) != -0x54535255)" (( "(") (binary_expression "*(int *)(puVar10 + 0x24) != -0x54535255" (pointer_expression "*(int *)(puVar10 + 0x24)" (* "*") (cast_expression "(int *)(puVar10 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x24)" (( "(") (binary_expression "puVar10 + 0x24" (identifier "puVar10") (+ "+") (number_literal "0x24")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n    puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb4) + 0x3930,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fb,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);\n    return puVar9;\n  }" ({ "{") (expression_statement "puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb4) + 0x3930,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fb,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);" (assignment_expression "puVar9 = (undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb4) + 0x3930,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fb,*(int *)(puVar3 + 0x2a8fb0) + -0x5008)" (identifier "puVar9") (= "=") (cast_expression "(undefined *)\n             (**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb4) + 0x3930,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fb,*(int *)(puVar3 + 0x2a8fb0) + -0x5008)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar3 + 0x2a9cd4))\n                       (*(int *)(puVar3 + 0x2a8fb4) + 0x3930,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fb,*(int *)(puVar3 + 0x2a8fb0) + -0x5008)" (parenthesized_expression "(**(code **)(puVar3 + 0x2a9cd4))" (( "(") (pointer_expression "**(code **)(puVar3 + 0x2a9cd4)" (* "*") (pointer_expression "*(code **)(puVar3 + 0x2a9cd4)" (* "*") (cast_expression "(code **)(puVar3 + 0x2a9cd4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar3 + 0x2a9cd4)" (( "(") (binary_expression "puVar3 + 0x2a9cd4" (identifier "puVar3") (+ "+") (number_literal "0x2a9cd4")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar3 + 0x2a8fb4) + 0x3930,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,\n                        0x3fb,*(int *)(puVar3 + 0x2a8fb0) + -0x5008)" (( "(") (binary_expression "*(int *)(puVar3 + 0x2a8fb4) + 0x3930" (pointer_expression "*(int *)(puVar3 + 0x2a8fb4)" (* "*") (cast_expression "(int *)(puVar3 + 0x2a8fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 0x2a8fb4)" (( "(") (binary_expression "puVar3 + 0x2a8fb4" (identifier "puVar3") (+ "+") (number_literal "0x2a8fb4")) () ")")))) (+ "+") (number_literal "0x3930")) (, ",") (binary_expression "*(int *)(puVar3 + 0x2a8fb0) + -0x5168" (pointer_expression "*(int *)(puVar3 + 0x2a8fb0)" (* "*") (cast_expression "(int *)(puVar3 + 0x2a8fb0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 0x2a8fb0)" (( "(") (binary_expression "puVar3 + 0x2a8fb0" (identifier "puVar3") (+ "+") (number_literal "0x2a8fb0")) () ")")))) (+ "+") (number_literal "-0x5168")) (, ",") (number_literal "0x3fb") (, ",") (binary_expression "*(int *)(puVar3 + 0x2a8fb0) + -0x5008" (pointer_expression "*(int *)(puVar3 + 0x2a8fb0)" (* "*") (cast_expression "(int *)(puVar3 + 0x2a8fb0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 0x2a8fb0)" (( "(") (binary_expression "puVar3 + 0x2a8fb0" (identifier "puVar3") (+ "+") (number_literal "0x2a8fb0")) () ")")))) (+ "+") (number_literal "-0x5008")) () ")"))))) (; ";")) (return_statement "return puVar9;" (return "return") (identifier "puVar9") (; ";")) (} "}"))) (expression_statement "ppuVar6 = ppuVar5;" (assignment_expression "ppuVar6 = ppuVar5" (identifier "ppuVar6") (= "=") (identifier "ppuVar5")) (; ";")) (expression_statement "puVar9 = puVar8;" (assignment_expression "puVar9 = puVar8" (identifier "puVar9") (= "=") (identifier "puVar8")) (; ";")) (expression_statement "puVar18 = unaff_s6;" (assignment_expression "puVar18 = unaff_s6" (identifier "puVar18") (= "=") (identifier "unaff_s6")) (; ";")) (if_statement "if (puVar8 == (undefined *)0x0) {\nLAB_000ff9c8:\n    puVar3 = (undefined *)0x0;\n    ppuVar5 = unaff_s2;\n    param_4 = unaff_s4;\n  }\n  else {\n    puVar17 = ppuVar5[5];\n    ppuVar6 = (undefined **)0x1;\n    puVar9 = ppuVar5[7];\n    puVar18 = *(undefined **)(puVar10 + 0x14);\n    iVar2 = (**(code **)(puVar3 + 0x2a9ef0))(puVar17);\n    unaff_s2 = ppuVar5;\n    unaff_s4 = param_4;\n    unaff_s5 = puVar17;\n    if (iVar2 == 0) goto LAB_000ff9c8;\n    iVar13 = *(int *)(puVar10 + 8);\n    iVar4 = *(int *)(puVar10 + 0x10);\n    uStack_ac = 0;\n    uStack_b0 = 0;\n    iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18);\n    if (((iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)) &&\n       ((iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)))) {\n      iVar13 = iVar13 - iVar4;\n      (**(code **)(puStack_b8 + -0x7774))(7);\n      iVar2 = iVar13;\n      if (iVar13 < 0) {\n        iVar2 = iVar13 + 0x3f;\n      }\n      unaff_s5 = (undefined *)(iVar2 >> 6);\n      if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar13 < 0x80;\n      }\n      puVar9 = (undefined *)0x1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        puVar17 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n    }\n    else {\n      uVar21 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar21 = (*pcVar19)(7);\n      if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (undefined *)0x2;\n      }\nLAB_000ffa7c:\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n      puVar9 = unaff_s5;\n      unaff_s5 = puVar17;\n    }\n    puStack_94 = (undefined *)0x1;\n    puStack_90 = &uStack_b0;\n    ppuVar6 = &puStack_a8;\n    puStack_a8 = puVar10;\n    ppuStack_a4 = ppuVar5;\n    puStack_a0 = puVar8;\n    puStack_9c = param_4;\n    puStack_98 = puVar18;\n    (**(code **)(puStack_b8 + -0x7718))(iVar2 + -0x1ecc,ppuVar6,puVar9,0);\n    puVar3 = puStack_94;\n  }" (if "if") (parenthesized_expression "(puVar8 == (undefined *)0x0)" (( "(") (binary_expression "puVar8 == (undefined *)0x0" (identifier "puVar8") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_000ff9c8:\n    puVar3 = (undefined *)0x0;\n    ppuVar5 = unaff_s2;\n    param_4 = unaff_s4;\n  }" ({ "{") (labeled_statement "LAB_000ff9c8:\n    puVar3 = (undefined *)0x0;" (statement_identifier "LAB_000ff9c8") (: ":") (expression_statement "puVar3 = (undefined *)0x0;" (assignment_expression "puVar3 = (undefined *)0x0" (identifier "puVar3") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "ppuVar5 = unaff_s2;" (assignment_expression "ppuVar5 = unaff_s2" (identifier "ppuVar5") (= "=") (identifier "unaff_s2")) (; ";")) (expression_statement "param_4 = unaff_s4;" (assignment_expression "param_4 = unaff_s4" (identifier "param_4") (= "=") (identifier "unaff_s4")) (; ";")) (} "}")) (else_clause "else {\n    puVar17 = ppuVar5[5];\n    ppuVar6 = (undefined **)0x1;\n    puVar9 = ppuVar5[7];\n    puVar18 = *(undefined **)(puVar10 + 0x14);\n    iVar2 = (**(code **)(puVar3 + 0x2a9ef0))(puVar17);\n    unaff_s2 = ppuVar5;\n    unaff_s4 = param_4;\n    unaff_s5 = puVar17;\n    if (iVar2 == 0) goto LAB_000ff9c8;\n    iVar13 = *(int *)(puVar10 + 8);\n    iVar4 = *(int *)(puVar10 + 0x10);\n    uStack_ac = 0;\n    uStack_b0 = 0;\n    iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18);\n    if (((iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)) &&\n       ((iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)))) {\n      iVar13 = iVar13 - iVar4;\n      (**(code **)(puStack_b8 + -0x7774))(7);\n      iVar2 = iVar13;\n      if (iVar13 < 0) {\n        iVar2 = iVar13 + 0x3f;\n      }\n      unaff_s5 = (undefined *)(iVar2 >> 6);\n      if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar13 < 0x80;\n      }\n      puVar9 = (undefined *)0x1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        puVar17 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n    }\n    else {\n      uVar21 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar21 = (*pcVar19)(7);\n      if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (undefined *)0x2;\n      }\nLAB_000ffa7c:\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n      puVar9 = unaff_s5;\n      unaff_s5 = puVar17;\n    }\n    puStack_94 = (undefined *)0x1;\n    puStack_90 = &uStack_b0;\n    ppuVar6 = &puStack_a8;\n    puStack_a8 = puVar10;\n    ppuStack_a4 = ppuVar5;\n    puStack_a0 = puVar8;\n    puStack_9c = param_4;\n    puStack_98 = puVar18;\n    (**(code **)(puStack_b8 + -0x7718))(iVar2 + -0x1ecc,ppuVar6,puVar9,0);\n    puVar3 = puStack_94;\n  }" (else "else") (compound_statement "{\n    puVar17 = ppuVar5[5];\n    ppuVar6 = (undefined **)0x1;\n    puVar9 = ppuVar5[7];\n    puVar18 = *(undefined **)(puVar10 + 0x14);\n    iVar2 = (**(code **)(puVar3 + 0x2a9ef0))(puVar17);\n    unaff_s2 = ppuVar5;\n    unaff_s4 = param_4;\n    unaff_s5 = puVar17;\n    if (iVar2 == 0) goto LAB_000ff9c8;\n    iVar13 = *(int *)(puVar10 + 8);\n    iVar4 = *(int *)(puVar10 + 0x10);\n    uStack_ac = 0;\n    uStack_b0 = 0;\n    iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18);\n    if (((iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)) &&\n       ((iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)))) {\n      iVar13 = iVar13 - iVar4;\n      (**(code **)(puStack_b8 + -0x7774))(7);\n      iVar2 = iVar13;\n      if (iVar13 < 0) {\n        iVar2 = iVar13 + 0x3f;\n      }\n      unaff_s5 = (undefined *)(iVar2 >> 6);\n      if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar13 < 0x80;\n      }\n      puVar9 = (undefined *)0x1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        puVar17 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n    }\n    else {\n      uVar21 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar21 = (*pcVar19)(7);\n      if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (undefined *)0x2;\n      }\nLAB_000ffa7c:\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n      puVar9 = unaff_s5;\n      unaff_s5 = puVar17;\n    }\n    puStack_94 = (undefined *)0x1;\n    puStack_90 = &uStack_b0;\n    ppuVar6 = &puStack_a8;\n    puStack_a8 = puVar10;\n    ppuStack_a4 = ppuVar5;\n    puStack_a0 = puVar8;\n    puStack_9c = param_4;\n    puStack_98 = puVar18;\n    (**(code **)(puStack_b8 + -0x7718))(iVar2 + -0x1ecc,ppuVar6,puVar9,0);\n    puVar3 = puStack_94;\n  }" ({ "{") (expression_statement "puVar17 = ppuVar5[5];" (assignment_expression "puVar17 = ppuVar5[5]" (identifier "puVar17") (= "=") (subscript_expression "ppuVar5[5]" (identifier "ppuVar5") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "ppuVar6 = (undefined **)0x1;" (assignment_expression "ppuVar6 = (undefined **)0x1" (identifier "ppuVar6") (= "=") (cast_expression "(undefined **)0x1" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "puVar9 = ppuVar5[7];" (assignment_expression "puVar9 = ppuVar5[7]" (identifier "puVar9") (= "=") (subscript_expression "ppuVar5[7]" (identifier "ppuVar5") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "puVar18 = *(undefined **)(puVar10 + 0x14);" (assignment_expression "puVar18 = *(undefined **)(puVar10 + 0x14)" (identifier "puVar18") (= "=") (pointer_expression "*(undefined **)(puVar10 + 0x14)" (* "*") (cast_expression "(undefined **)(puVar10 + 0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x14)" (( "(") (binary_expression "puVar10 + 0x14" (identifier "puVar10") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "iVar2 = (**(code **)(puVar3 + 0x2a9ef0))(puVar17);" (assignment_expression "iVar2 = (**(code **)(puVar3 + 0x2a9ef0))(puVar17)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(puVar3 + 0x2a9ef0))(puVar17)" (parenthesized_expression "(**(code **)(puVar3 + 0x2a9ef0))" (( "(") (pointer_expression "**(code **)(puVar3 + 0x2a9ef0)" (* "*") (pointer_expression "*(code **)(puVar3 + 0x2a9ef0)" (* "*") (cast_expression "(code **)(puVar3 + 0x2a9ef0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar3 + 0x2a9ef0)" (( "(") (binary_expression "puVar3 + 0x2a9ef0" (identifier "puVar3") (+ "+") (number_literal "0x2a9ef0")) () ")"))))) () ")")) (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")")))) (; ";")) (expression_statement "unaff_s2 = ppuVar5;" (assignment_expression "unaff_s2 = ppuVar5" (identifier "unaff_s2") (= "=") (identifier "ppuVar5")) (; ";")) (expression_statement "unaff_s4 = param_4;" (assignment_expression "unaff_s4 = param_4" (identifier "unaff_s4") (= "=") (identifier "param_4")) (; ";")) (expression_statement "unaff_s5 = puVar17;" (assignment_expression "unaff_s5 = puVar17" (identifier "unaff_s5") (= "=") (identifier "puVar17")) (; ";")) (if_statement "if (iVar2 == 0) goto LAB_000ff9c8;" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000ff9c8;" (goto "goto") (statement_identifier "LAB_000ff9c8") (; ";"))) (expression_statement "iVar13 = *(int *)(puVar10 + 8);" (assignment_expression "iVar13 = *(int *)(puVar10 + 8)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(puVar10 + 8)" (* "*") (cast_expression "(int *)(puVar10 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 8)" (( "(") (binary_expression "puVar10 + 8" (identifier "puVar10") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar4 = *(int *)(puVar10 + 0x10);" (assignment_expression "iVar4 = *(int *)(puVar10 + 0x10)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(puVar10 + 0x10)" (* "*") (cast_expression "(int *)(puVar10 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x10)" (( "(") (binary_expression "puVar10 + 0x10" (identifier "puVar10") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uStack_ac = 0;" (assignment_expression "uStack_ac = 0" (identifier "uStack_ac") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_b0 = 0;" (assignment_expression "uStack_b0 = 0" (identifier "uStack_b0") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18);" (assignment_expression "iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(puStack_b8 + -0x73fc))(puVar18)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x73fc))" (( "(") (pointer_expression "**(code **)(puStack_b8 + -0x73fc)" (* "*") (pointer_expression "*(code **)(puStack_b8 + -0x73fc)" (* "*") (cast_expression "(code **)(puStack_b8 + -0x73fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_b8 + -0x73fc)" (( "(") (binary_expression "puStack_b8 + -0x73fc" (identifier "puStack_b8") (+ "+") (number_literal "-0x73fc")) () ")"))))) () ")")) (argument_list "(puVar18)" (( "(") (identifier "puVar18") () ")")))) (; ";")) (if_statement "if (((iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)) &&\n       ((iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)))) {\n      iVar13 = iVar13 - iVar4;\n      (**(code **)(puStack_b8 + -0x7774))(7);\n      iVar2 = iVar13;\n      if (iVar13 < 0) {\n        iVar2 = iVar13 + 0x3f;\n      }\n      unaff_s5 = (undefined *)(iVar2 >> 6);\n      if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar13 < 0x80;\n      }\n      puVar9 = (undefined *)0x1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        puVar17 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n    }\n    else {\n      uVar21 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar21 = (*pcVar19)(7);\n      if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (undefined *)0x2;\n      }\nLAB_000ffa7c:\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n      puVar9 = unaff_s5;\n      unaff_s5 = puVar17;\n    }" (if "if") (parenthesized_expression "(((iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)) &&\n       ((iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3))))" (( "(") (binary_expression "((iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)) &&\n       ((iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)))" (parenthesized_expression "((iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3))" (( "(") (binary_expression "(iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)" (parenthesized_expression "(iVar2 == 4)" (( "(") (binary_expression "iVar2 == 4" (identifier "iVar2") (== "==") (number_literal "4")) () ")")) (|| "||") (parenthesized_expression "(iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)" (( "(") (comma_expression "iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3" (assignment_expression "iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(puStack_b8 + -0x73fc))(puVar18)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x73fc))" (( "(") (pointer_expression "**(code **)(puStack_b8 + -0x73fc)" (* "*") (pointer_expression "*(code **)(puStack_b8 + -0x73fc)" (* "*") (cast_expression "(code **)(puStack_b8 + -0x73fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_b8 + -0x73fc)" (( "(") (binary_expression "puStack_b8 + -0x73fc" (identifier "puStack_b8") (+ "+") (number_literal "-0x73fc")) () ")"))))) () ")")) (argument_list "(puVar18)" (( "(") (identifier "puVar18") () ")")))) (, ",") (binary_expression "iVar2 == 3" (identifier "iVar2") (== "==") (number_literal "3"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)))" (( "(") (parenthesized_expression "(iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3))" (( "(") (comma_expression "iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)" (assignment_expression "iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(puStack_b8 + -0x73fc))(puVar17)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x73fc))" (( "(") (pointer_expression "**(code **)(puStack_b8 + -0x73fc)" (* "*") (pointer_expression "*(code **)(puStack_b8 + -0x73fc)" (* "*") (cast_expression "(code **)(puStack_b8 + -0x73fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_b8 + -0x73fc)" (( "(") (binary_expression "puStack_b8 + -0x73fc" (identifier "puStack_b8") (+ "+") (number_literal "-0x73fc")) () ")"))))) () ")")) (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")")))) (, ",") (binary_expression "iVar2 == 4 ||\n        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)" (binary_expression "iVar2 == 4" (identifier "iVar2") (== "==") (number_literal "4")) (|| "||") (parenthesized_expression "(iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)" (( "(") (comma_expression "iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3" (assignment_expression "iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(puStack_b8 + -0x73fc))(puVar17)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x73fc))" (( "(") (pointer_expression "**(code **)(puStack_b8 + -0x73fc)" (* "*") (pointer_expression "*(code **)(puStack_b8 + -0x73fc)" (* "*") (cast_expression "(code **)(puStack_b8 + -0x73fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_b8 + -0x73fc)" (( "(") (binary_expression "puStack_b8 + -0x73fc" (identifier "puStack_b8") (+ "+") (number_literal "-0x73fc")) () ")"))))) () ")")) (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")")))) (, ",") (binary_expression "iVar2 == 3" (identifier "iVar2") (== "==") (number_literal "3"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n      iVar13 = iVar13 - iVar4;\n      (**(code **)(puStack_b8 + -0x7774))(7);\n      iVar2 = iVar13;\n      if (iVar13 < 0) {\n        iVar2 = iVar13 + 0x3f;\n      }\n      unaff_s5 = (undefined *)(iVar2 >> 6);\n      if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar13 < 0x80;\n      }\n      puVar9 = (undefined *)0x1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        puVar17 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n    }" ({ "{") (expression_statement "iVar13 = iVar13 - iVar4;" (assignment_expression "iVar13 = iVar13 - iVar4" (identifier "iVar13") (= "=") (binary_expression "iVar13 - iVar4" (identifier "iVar13") (- "-") (identifier "iVar4"))) (; ";")) (expression_statement "(**(code **)(puStack_b8 + -0x7774))(7);" (call_expression "(**(code **)(puStack_b8 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x7774))" (( "(") (pointer_expression "**(code **)(puStack_b8 + -0x7774)" (* "*") (pointer_expression "*(code **)(puStack_b8 + -0x7774)" (* "*") (cast_expression "(code **)(puStack_b8 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_b8 + -0x7774)" (( "(") (binary_expression "puStack_b8 + -0x7774" (identifier "puStack_b8") (+ "+") (number_literal "-0x7774")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "iVar2 = iVar13;" (assignment_expression "iVar2 = iVar13" (identifier "iVar2") (= "=") (identifier "iVar13")) (; ";")) (if_statement "if (iVar13 < 0) {\n        iVar2 = iVar13 + 0x3f;\n      }" (if "if") (parenthesized_expression "(iVar13 < 0)" (( "(") (binary_expression "iVar13 < 0" (identifier "iVar13") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        iVar2 = iVar13 + 0x3f;\n      }" ({ "{") (expression_statement "iVar2 = iVar13 + 0x3f;" (assignment_expression "iVar2 = iVar13 + 0x3f" (identifier "iVar2") (= "=") (binary_expression "iVar13 + 0x3f" (identifier "iVar13") (+ "+") (number_literal "0x3f"))) (; ";")) (} "}"))) (expression_statement "unaff_s5 = (undefined *)(iVar2 >> 6);" (assignment_expression "unaff_s5 = (undefined *)(iVar2 >> 6)" (identifier "unaff_s5") (= "=") (cast_expression "(undefined *)(iVar2 >> 6)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 >> 6)" (( "(") (binary_expression "iVar2 >> 6" (identifier "iVar2") (>> ">>") (number_literal "6")) () ")")))) (; ";")) (if_statement "if (extraout_v1_04 < (int)unaff_s5) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }\n      else {\n        bVar1 = iVar13 < 0x80;\n      }" (if "if") (parenthesized_expression "(extraout_v1_04 < (int)unaff_s5)" (( "(") (binary_expression "extraout_v1_04 < (int)unaff_s5" (identifier "extraout_v1_04") (< "<") (cast_expression "(int)unaff_s5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s5"))) () ")")) (compound_statement "{\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        bVar1 = extraout_v1_07 < 2;\n      }" ({ "{") (expression_statement "(**(code **)(puStack_b8 + -0x7774))(7);" (call_expression "(**(code **)(puStack_b8 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x7774))" (( "(") (pointer_expression "**(code **)(puStack_b8 + -0x7774)" (* "*") (pointer_expression "*(code **)(puStack_b8 + -0x7774)" (* "*") (cast_expression "(code **)(puStack_b8 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_b8 + -0x7774)" (( "(") (binary_expression "puStack_b8 + -0x7774" (identifier "puStack_b8") (+ "+") (number_literal "-0x7774")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "bVar1 = extraout_v1_07 < 2;" (assignment_expression "bVar1 = extraout_v1_07 < 2" (identifier "bVar1") (= "=") (binary_expression "extraout_v1_07 < 2" (identifier "extraout_v1_07") (< "<") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else {\n        bVar1 = iVar13 < 0x80;\n      }" (else "else") (compound_statement "{\n        bVar1 = iVar13 < 0x80;\n      }" ({ "{") (expression_statement "bVar1 = iVar13 < 0x80;" (assignment_expression "bVar1 = iVar13 < 0x80" (identifier "bVar1") (= "=") (binary_expression "iVar13 < 0x80" (identifier "iVar13") (< "<") (number_literal "0x80"))) (; ";")) (} "}")))) (expression_statement "puVar9 = (undefined *)0x1;" (assignment_expression "puVar9 = (undefined *)0x1" (identifier "puVar9") (= "=") (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (if_statement "if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        puVar17 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\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_b8 + -0x7774))(7);\n        puVar17 = unaff_s5;\n        if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }\n        goto LAB_000ffa7c;\n      }" ({ "{") (expression_statement "(**(code **)(puStack_b8 + -0x7774))(7);" (call_expression "(**(code **)(puStack_b8 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x7774))" (( "(") (pointer_expression "**(code **)(puStack_b8 + -0x7774)" (* "*") (pointer_expression "*(code **)(puStack_b8 + -0x7774)" (* "*") (cast_expression "(code **)(puStack_b8 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_b8 + -0x7774)" (( "(") (binary_expression "puStack_b8 + -0x7774" (identifier "puStack_b8") (+ "+") (number_literal "-0x7774")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "puVar17 = unaff_s5;" (assignment_expression "puVar17 = unaff_s5" (identifier "puVar17") (= "=") (identifier "unaff_s5")) (; ";")) (if_statement "if (extraout_v1_06 < (int)unaff_s5) {\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }" (if "if") (parenthesized_expression "(extraout_v1_06 < (int)unaff_s5)" (( "(") (binary_expression "extraout_v1_06 < (int)unaff_s5" (identifier "extraout_v1_06") (< "<") (cast_expression "(int)unaff_s5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s5"))) () ")")) (compound_statement "{\n          (**(code **)(puStack_b8 + -0x7774))(7);\n          unaff_s5 = extraout_v1_08;\n          puVar17 = extraout_v1_08;\n        }" ({ "{") (expression_statement "(**(code **)(puStack_b8 + -0x7774))(7);" (call_expression "(**(code **)(puStack_b8 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x7774))" (( "(") (pointer_expression "**(code **)(puStack_b8 + -0x7774)" (* "*") (pointer_expression "*(code **)(puStack_b8 + -0x7774)" (* "*") (cast_expression "(code **)(puStack_b8 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_b8 + -0x7774)" (( "(") (binary_expression "puStack_b8 + -0x7774" (identifier "puStack_b8") (+ "+") (number_literal "-0x7774")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "unaff_s5 = extraout_v1_08;" (assignment_expression "unaff_s5 = extraout_v1_08" (identifier "unaff_s5") (= "=") (identifier "extraout_v1_08")) (; ";")) (expression_statement "puVar17 = extraout_v1_08;" (assignment_expression "puVar17 = extraout_v1_08" (identifier "puVar17") (= "=") (identifier "extraout_v1_08")) (; ";")) (} "}"))) (goto_statement "goto LAB_000ffa7c;" (goto "goto") (statement_identifier "LAB_000ffa7c") (; ";")) (} "}"))) (expression_statement "iVar2 = *(int *)(puStack_b8 + -0x7e1c);" (assignment_expression "iVar2 = *(int *)(puStack_b8 + -0x7e1c)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(puStack_b8 + -0x7e1c)" (* "*") (cast_expression "(int *)(puStack_b8 + -0x7e1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_b8 + -0x7e1c)" (( "(") (binary_expression "puStack_b8 + -0x7e1c" (identifier "puStack_b8") (+ "+") (number_literal "-0x7e1c")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      uVar21 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar21 = (*pcVar19)(7);\n      if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (undefined *)0x2;\n      }\nLAB_000ffa7c:\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n      puVar9 = unaff_s5;\n      unaff_s5 = puVar17;\n    }" (else "else") (compound_statement "{\n      uVar21 = (**(code **)(puStack_b8 + -0x7774))(7);\n      if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }\n      uVar21 = (*pcVar19)(7);\n      if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (undefined *)0x2;\n      }\nLAB_000ffa7c:\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);\n      puVar9 = unaff_s5;\n      unaff_s5 = puVar17;\n    }" ({ "{") (expression_statement "uVar21 = (**(code **)(puStack_b8 + -0x7774))(7);" (assignment_expression "uVar21 = (**(code **)(puStack_b8 + -0x7774))(7)" (identifier "uVar21") (= "=") (call_expression "(**(code **)(puStack_b8 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x7774))" (( "(") (pointer_expression "**(code **)(puStack_b8 + -0x7774)" (* "*") (pointer_expression "*(code **)(puStack_b8 + -0x7774)" (* "*") (cast_expression "(code **)(puStack_b8 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_b8 + -0x7774)" (( "(") (binary_expression "puStack_b8 + -0x7774" (identifier "puStack_b8") (+ "+") (number_literal "-0x7774")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }\n      else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }" (if "if") (parenthesized_expression "((int)((ulonglong)uVar21 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar21 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar21 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar21 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar21")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n        if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }\n      }" ({ "{") (expression_statement "pcVar19 = *(code **)(puStack_b8 + -0x7774);" (assignment_expression "pcVar19 = *(code **)(puStack_b8 + -0x7774)" (identifier "pcVar19") (= "=") (pointer_expression "*(code **)(puStack_b8 + -0x7774)" (* "*") (cast_expression "(code **)(puStack_b8 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_b8 + -0x7774)" (( "(") (binary_expression "puStack_b8 + -0x7774" (identifier "puStack_b8") (+ "+") (number_literal "-0x7774")) () ")"))))) (; ";")) (if_statement "if ((uint)uVar21 < 2) {\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }" (if "if") (parenthesized_expression "((uint)uVar21 < 2)" (( "(") (binary_expression "(uint)uVar21 < 2" (cast_expression "(uint)uVar21" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar21")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n          uVar21 = (*pcVar19)(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;\n          pcVar19 = *(code **)(puStack_b8 + -0x7774);\n          if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }\n        }" ({ "{") (expression_statement "uVar21 = (*pcVar19)(7);" (assignment_expression "uVar21 = (*pcVar19)(7)" (identifier "uVar21") (= "=") (call_expression "(*pcVar19)(7)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;" (if "if") (parenthesized_expression "((int)((ulonglong)uVar21 >> 0x20) != 0)" (( "(") (binary_expression "(int)((ulonglong)uVar21 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar21 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar21 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar21")) (>> ">>") (number_literal "0x20")) () ")"))) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000ffa64;" (goto "goto") (statement_identifier "LAB_000ffa64") (; ";"))) (expression_statement "pcVar19 = *(code **)(puStack_b8 + -0x7774);" (assignment_expression "pcVar19 = *(code **)(puStack_b8 + -0x7774)" (identifier "pcVar19") (= "=") (pointer_expression "*(code **)(puStack_b8 + -0x7774)" (* "*") (cast_expression "(code **)(puStack_b8 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_b8 + -0x7774)" (( "(") (binary_expression "puStack_b8 + -0x7774" (identifier "puStack_b8") (+ "+") (number_literal "-0x7774")) () ")"))))) (; ";")) (if_statement "if ((uint)uVar21 < 2) {\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }" (if "if") (parenthesized_expression "((uint)uVar21 < 2)" (( "(") (binary_expression "(uint)uVar21 < 2" (cast_expression "(uint)uVar21" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar21")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n            unaff_s5 = (undefined *)0x1;\n            goto LAB_000ffa7c;\n          }" ({ "{") (expression_statement "unaff_s5 = (undefined *)0x1;" (assignment_expression "unaff_s5 = (undefined *)0x1" (identifier "unaff_s5") (= "=") (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (goto_statement "goto LAB_000ffa7c;" (goto "goto") (statement_identifier "LAB_000ffa7c") (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }" (else "else") (compound_statement "{\nLAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);\n      }" ({ "{") (labeled_statement "LAB_000ffa64:\n        pcVar19 = *(code **)(puStack_b8 + -0x7774);" (statement_identifier "LAB_000ffa64") (: ":") (expression_statement "pcVar19 = *(code **)(puStack_b8 + -0x7774);" (assignment_expression "pcVar19 = *(code **)(puStack_b8 + -0x7774)" (identifier "pcVar19") (= "=") (pointer_expression "*(code **)(puStack_b8 + -0x7774)" (* "*") (cast_expression "(code **)(puStack_b8 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_b8 + -0x7774)" (( "(") (binary_expression "puStack_b8 + -0x7774" (identifier "puStack_b8") (+ "+") (number_literal "-0x7774")) () ")"))))) (; ";"))) (} "}")))) (expression_statement "uVar21 = (*pcVar19)(7);" (assignment_expression "uVar21 = (*pcVar19)(7)" (identifier "uVar21") (= "=") (call_expression "(*pcVar19)(7)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }\n      else {\n        unaff_s5 = (undefined *)0x2;\n      }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)" (parenthesized_expression "((int)((ulonglong)uVar21 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar21 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar21 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar21 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar21")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)uVar21 < 2)" (( "(") (binary_expression "(uint)uVar21 < 2" (cast_expression "(uint)uVar21" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar21")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n        (**(code **)(puStack_b8 + -0x7774))(7);\n        unaff_s5 = extraout_v1_05;\n      }" ({ "{") (expression_statement "(**(code **)(puStack_b8 + -0x7774))(7);" (call_expression "(**(code **)(puStack_b8 + -0x7774))(7)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x7774))" (( "(") (pointer_expression "**(code **)(puStack_b8 + -0x7774)" (* "*") (pointer_expression "*(code **)(puStack_b8 + -0x7774)" (* "*") (cast_expression "(code **)(puStack_b8 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_b8 + -0x7774)" (( "(") (binary_expression "puStack_b8 + -0x7774" (identifier "puStack_b8") (+ "+") (number_literal "-0x7774")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "unaff_s5 = extraout_v1_05;" (assignment_expression "unaff_s5 = extraout_v1_05" (identifier "unaff_s5") (= "=") (identifier "extraout_v1_05")) (; ";")) (} "}")) (else_clause "else {\n        unaff_s5 = (undefined *)0x2;\n      }" (else "else") (compound_statement "{\n        unaff_s5 = (undefined *)0x2;\n      }" ({ "{") (expression_statement "unaff_s5 = (undefined *)0x2;" (assignment_expression "unaff_s5 = (undefined *)0x2" (identifier "unaff_s5") (= "=") (cast_expression "(undefined *)0x2" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) (; ";")) (} "}")))) (labeled_statement "LAB_000ffa7c:\n      iVar2 = *(int *)(puStack_b8 + -0x7e1c);" (statement_identifier "LAB_000ffa7c") (: ":") (expression_statement "iVar2 = *(int *)(puStack_b8 + -0x7e1c);" (assignment_expression "iVar2 = *(int *)(puStack_b8 + -0x7e1c)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(puStack_b8 + -0x7e1c)" (* "*") (cast_expression "(int *)(puStack_b8 + -0x7e1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_b8 + -0x7e1c)" (( "(") (binary_expression "puStack_b8 + -0x7e1c" (identifier "puStack_b8") (+ "+") (number_literal "-0x7e1c")) () ")"))))) (; ";"))) (expression_statement "puVar9 = unaff_s5;" (assignment_expression "puVar9 = unaff_s5" (identifier "puVar9") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "unaff_s5 = puVar17;" (assignment_expression "unaff_s5 = puVar17" (identifier "unaff_s5") (= "=") (identifier "puVar17")) (; ";")) (} "}")))) (expression_statement "puStack_94 = (undefined *)0x1;" (assignment_expression "puStack_94 = (undefined *)0x1" (identifier "puStack_94") (= "=") (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "puStack_90 = &uStack_b0;" (assignment_expression "puStack_90 = &uStack_b0" (identifier "puStack_90") (= "=") (pointer_expression "&uStack_b0" (& "&") (identifier "uStack_b0"))) (; ";")) (expression_statement "ppuVar6 = &puStack_a8;" (assignment_expression "ppuVar6 = &puStack_a8" (identifier "ppuVar6") (= "=") (pointer_expression "&puStack_a8" (& "&") (identifier "puStack_a8"))) (; ";")) (expression_statement "puStack_a8 = puVar10;" (assignment_expression "puStack_a8 = puVar10" (identifier "puStack_a8") (= "=") (identifier "puVar10")) (; ";")) (expression_statement "ppuStack_a4 = ppuVar5;" (assignment_expression "ppuStack_a4 = ppuVar5" (identifier "ppuStack_a4") (= "=") (identifier "ppuVar5")) (; ";")) (expression_statement "puStack_a0 = puVar8;" (assignment_expression "puStack_a0 = puVar8" (identifier "puStack_a0") (= "=") (identifier "puVar8")) (; ";")) (expression_statement "puStack_9c = param_4;" (assignment_expression "puStack_9c = param_4" (identifier "puStack_9c") (= "=") (identifier "param_4")) (; ";")) (expression_statement "puStack_98 = puVar18;" (assignment_expression "puStack_98 = puVar18" (identifier "puStack_98") (= "=") (identifier "puVar18")) (; ";")) (expression_statement "(**(code **)(puStack_b8 + -0x7718))(iVar2 + -0x1ecc,ppuVar6,puVar9,0);" (call_expression "(**(code **)(puStack_b8 + -0x7718))(iVar2 + -0x1ecc,ppuVar6,puVar9,0)" (parenthesized_expression "(**(code **)(puStack_b8 + -0x7718))" (( "(") (pointer_expression "**(code **)(puStack_b8 + -0x7718)" (* "*") (pointer_expression "*(code **)(puStack_b8 + -0x7718)" (* "*") (cast_expression "(code **)(puStack_b8 + -0x7718)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_b8 + -0x7718)" (( "(") (binary_expression "puStack_b8 + -0x7718" (identifier "puStack_b8") (+ "+") (number_literal "-0x7718")) () ")"))))) () ")")) (argument_list "(iVar2 + -0x1ecc,ppuVar6,puVar9,0)" (( "(") (binary_expression "iVar2 + -0x1ecc" (identifier "iVar2") (+ "+") (number_literal "-0x1ecc")) (, ",") (identifier "ppuVar6") (, ",") (identifier "puVar9") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "puVar3 = puStack_94;" (assignment_expression "puVar3 = puStack_94" (identifier "puVar3") (= "=") (identifier "puStack_94")) (; ";")) (} "}")))) (if_statement "if (puStack_8c == (undefined *)*piVar14) {\n    return puVar3;\n  }" (if "if") (parenthesized_expression "(puStack_8c == (undefined *)*piVar14)" (( "(") (binary_expression "puStack_8c == (undefined *)*piVar14" (identifier "puStack_8c") (== "==") (cast_expression "(undefined *)*piVar14" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar14" (* "*") (identifier "piVar14")))) () ")")) (compound_statement "{\n    return puVar3;\n  }" ({ "{") (return_statement "return puVar3;" (return "return") (identifier "puVar3") (; ";")) (} "}"))) (expression_statement "pcVar19 = *(code **)(puStack_b8 + -0x784c);" (assignment_expression "pcVar19 = *(code **)(puStack_b8 + -0x784c)" (identifier "pcVar19") (= "=") (pointer_expression "*(code **)(puStack_b8 + -0x784c)" (* "*") (cast_expression "(code **)(puStack_b8 + -0x784c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_b8 + -0x784c)" (( "(") (binary_expression "puStack_b8 + -0x784c" (identifier "puStack_b8") (+ "+") (number_literal "-0x784c")) () ")"))))) (; ";")) (expression_statement "pcVar20 = UpdateImageViewIterator;" (assignment_expression "pcVar20 = UpdateImageViewIterator" (identifier "pcVar20") (= "=") (identifier "UpdateImageViewIterator")) (; ";")) (expression_statement "puVar3 = puStack_8c;" (assignment_expression "puVar3 = puStack_8c" (identifier "puVar3") (= "=") (identifier "puStack_8c")) (; ";")) (expression_statement "(*pcVar19)();" (call_expression "(*pcVar19)()" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar15 = *(int **)(pcVar19 + 0x2a95f8);" (assignment_expression "piVar15 = *(int **)(pcVar19 + 0x2a95f8)" (identifier "piVar15") (= "=") (pointer_expression "*(int **)(pcVar19 + 0x2a95f8)" (* "*") (cast_expression "(int **)(pcVar19 + 0x2a95f8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar19 + 0x2a95f8)" (( "(") (binary_expression "pcVar19 + 0x2a95f8" (identifier "pcVar19") (+ "+") (number_literal "0x2a95f8")) () ")"))))) (; ";")) (expression_statement "iStack_ec = *piVar15;" (assignment_expression "iStack_ec = *piVar15" (identifier "iStack_ec") (= "=") (pointer_expression "*piVar15" (* "*") (identifier "piVar15"))) (; ";")) (expression_statement "puStack_e8 = puVar10;" (assignment_expression "puStack_e8 = puVar10" (identifier "puStack_e8") (= "=") (identifier "puVar10")) (; ";")) (expression_statement "piStack_e4 = piVar14;" (assignment_expression "piStack_e4 = piVar14" (identifier "piStack_e4") (= "=") (identifier "piVar14")) (; ";")) (expression_statement "ppuStack_e0 = ppuVar5;" (assignment_expression "ppuStack_e0 = ppuVar5" (identifier "ppuStack_e0") (= "=") (identifier "ppuVar5")) (; ";")) (expression_statement "puStack_dc = puVar8;" (assignment_expression "puStack_dc = puVar8" (identifier "puStack_dc") (= "=") (identifier "puVar8")) (; ";")) (expression_statement "puStack_d8 = param_4;" (assignment_expression "puStack_d8 = param_4" (identifier "puStack_d8") (= "=") (identifier "param_4")) (; ";")) (expression_statement "puStack_d4 = unaff_s5;" (assignment_expression "puStack_d4 = unaff_s5" (identifier "puStack_d4") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "puStack_d0 = puVar18;" (assignment_expression "puStack_d0 = puVar18" (identifier "puStack_d0") (= "=") (identifier "puVar18")) (; ";")) (expression_statement "pcStack_cc = pcVar20;" (assignment_expression "pcStack_cc = pcVar20" (identifier "pcStack_cc") (= "=") (identifier "pcVar20")) (; ";")) (if_statement "if (puVar3 != (undefined *)0x0) {\n    if (*(int *)(puVar3 + 0x24) == -0x54535255) {\n      ppuVar5 = ppuVar6;\n      puVar10 = puVar9;\n      if (ppuVar6 == (undefined **)0x0) {\nLAB_000ffcbc:\n        puVar9 = (undefined *)0x0;\n      }\n      else {\n        uVar16 = *(undefined4 *)(puVar3 + 0x14);\n        ppuVar5 = (undefined **)0x1;\n        puVar10 = *(undefined **)(puVar3 + 0x1c);\n        iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);\n        if (iVar2 == 0) goto LAB_000ffcbc;\n        iVar13 = *(int *)(puVar3 + 8);\n        iVar4 = *(int *)(puVar3 + 0x10);\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);\n        if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }\n        puStack_f4 = (undefined *)0x1;\n        puStack_f0 = &uStack_110;\n        ppuVar5 = &puStack_104;\n        puStack_104 = puVar3;\n        ppuStack_100 = ppuVar6;\n        puStack_fc = puVar9;\n        uStack_f8 = uVar16;\n        (**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);\n        puVar9 = puStack_f4;\n      }\n      iVar2 = iStack_ec;\n      if (iStack_ec == *piVar15) {\n        return puVar9;\n      }\n      goto LAB_000fff14;\n    }\n    (**(code **)(pcVar19 + 0x2a99d0))\n              (*(int *)(pcVar19 + 0x2a8cb0) + 0x3930,*(int *)(pcVar19 + 0x2a8cac) + -0x5168,0x481,\n               *(int *)(pcVar19 + 0x2a8cac) + -0x5020);\n  }" (if "if") (parenthesized_expression "(puVar3 != (undefined *)0x0)" (( "(") (binary_expression "puVar3 != (undefined *)0x0" (identifier "puVar3") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (*(int *)(puVar3 + 0x24) == -0x54535255) {\n      ppuVar5 = ppuVar6;\n      puVar10 = puVar9;\n      if (ppuVar6 == (undefined **)0x0) {\nLAB_000ffcbc:\n        puVar9 = (undefined *)0x0;\n      }\n      else {\n        uVar16 = *(undefined4 *)(puVar3 + 0x14);\n        ppuVar5 = (undefined **)0x1;\n        puVar10 = *(undefined **)(puVar3 + 0x1c);\n        iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);\n        if (iVar2 == 0) goto LAB_000ffcbc;\n        iVar13 = *(int *)(puVar3 + 8);\n        iVar4 = *(int *)(puVar3 + 0x10);\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);\n        if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }\n        puStack_f4 = (undefined *)0x1;\n        puStack_f0 = &uStack_110;\n        ppuVar5 = &puStack_104;\n        puStack_104 = puVar3;\n        ppuStack_100 = ppuVar6;\n        puStack_fc = puVar9;\n        uStack_f8 = uVar16;\n        (**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);\n        puVar9 = puStack_f4;\n      }\n      iVar2 = iStack_ec;\n      if (iStack_ec == *piVar15) {\n        return puVar9;\n      }\n      goto LAB_000fff14;\n    }\n    (**(code **)(pcVar19 + 0x2a99d0))\n              (*(int *)(pcVar19 + 0x2a8cb0) + 0x3930,*(int *)(pcVar19 + 0x2a8cac) + -0x5168,0x481,\n               *(int *)(pcVar19 + 0x2a8cac) + -0x5020);\n  }" ({ "{") (if_statement "if (*(int *)(puVar3 + 0x24) == -0x54535255) {\n      ppuVar5 = ppuVar6;\n      puVar10 = puVar9;\n      if (ppuVar6 == (undefined **)0x0) {\nLAB_000ffcbc:\n        puVar9 = (undefined *)0x0;\n      }\n      else {\n        uVar16 = *(undefined4 *)(puVar3 + 0x14);\n        ppuVar5 = (undefined **)0x1;\n        puVar10 = *(undefined **)(puVar3 + 0x1c);\n        iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);\n        if (iVar2 == 0) goto LAB_000ffcbc;\n        iVar13 = *(int *)(puVar3 + 8);\n        iVar4 = *(int *)(puVar3 + 0x10);\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);\n        if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }\n        puStack_f4 = (undefined *)0x1;\n        puStack_f0 = &uStack_110;\n        ppuVar5 = &puStack_104;\n        puStack_104 = puVar3;\n        ppuStack_100 = ppuVar6;\n        puStack_fc = puVar9;\n        uStack_f8 = uVar16;\n        (**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);\n        puVar9 = puStack_f4;\n      }\n      iVar2 = iStack_ec;\n      if (iStack_ec == *piVar15) {\n        return puVar9;\n      }\n      goto LAB_000fff14;\n    }" (if "if") (parenthesized_expression "(*(int *)(puVar3 + 0x24) == -0x54535255)" (( "(") (binary_expression "*(int *)(puVar3 + 0x24) == -0x54535255" (pointer_expression "*(int *)(puVar3 + 0x24)" (* "*") (cast_expression "(int *)(puVar3 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 0x24)" (( "(") (binary_expression "puVar3 + 0x24" (identifier "puVar3") (+ "+") (number_literal "0x24")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      ppuVar5 = ppuVar6;\n      puVar10 = puVar9;\n      if (ppuVar6 == (undefined **)0x0) {\nLAB_000ffcbc:\n        puVar9 = (undefined *)0x0;\n      }\n      else {\n        uVar16 = *(undefined4 *)(puVar3 + 0x14);\n        ppuVar5 = (undefined **)0x1;\n        puVar10 = *(undefined **)(puVar3 + 0x1c);\n        iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);\n        if (iVar2 == 0) goto LAB_000ffcbc;\n        iVar13 = *(int *)(puVar3 + 8);\n        iVar4 = *(int *)(puVar3 + 0x10);\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);\n        if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }\n        puStack_f4 = (undefined *)0x1;\n        puStack_f0 = &uStack_110;\n        ppuVar5 = &puStack_104;\n        puStack_104 = puVar3;\n        ppuStack_100 = ppuVar6;\n        puStack_fc = puVar9;\n        uStack_f8 = uVar16;\n        (**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);\n        puVar9 = puStack_f4;\n      }\n      iVar2 = iStack_ec;\n      if (iStack_ec == *piVar15) {\n        return puVar9;\n      }\n      goto LAB_000fff14;\n    }" ({ "{") (expression_statement "ppuVar5 = ppuVar6;" (assignment_expression "ppuVar5 = ppuVar6" (identifier "ppuVar5") (= "=") (identifier "ppuVar6")) (; ";")) (expression_statement "puVar10 = puVar9;" (assignment_expression "puVar10 = puVar9" (identifier "puVar10") (= "=") (identifier "puVar9")) (; ";")) (if_statement "if (ppuVar6 == (undefined **)0x0) {\nLAB_000ffcbc:\n        puVar9 = (undefined *)0x0;\n      }\n      else {\n        uVar16 = *(undefined4 *)(puVar3 + 0x14);\n        ppuVar5 = (undefined **)0x1;\n        puVar10 = *(undefined **)(puVar3 + 0x1c);\n        iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);\n        if (iVar2 == 0) goto LAB_000ffcbc;\n        iVar13 = *(int *)(puVar3 + 8);\n        iVar4 = *(int *)(puVar3 + 0x10);\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);\n        if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }\n        puStack_f4 = (undefined *)0x1;\n        puStack_f0 = &uStack_110;\n        ppuVar5 = &puStack_104;\n        puStack_104 = puVar3;\n        ppuStack_100 = ppuVar6;\n        puStack_fc = puVar9;\n        uStack_f8 = uVar16;\n        (**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);\n        puVar9 = puStack_f4;\n      }" (if "if") (parenthesized_expression "(ppuVar6 == (undefined **)0x0)" (( "(") (binary_expression "ppuVar6 == (undefined **)0x0" (identifier "ppuVar6") (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_000ffcbc:\n        puVar9 = (undefined *)0x0;\n      }" ({ "{") (labeled_statement "LAB_000ffcbc:\n        puVar9 = (undefined *)0x0;" (statement_identifier "LAB_000ffcbc") (: ":") (expression_statement "puVar9 = (undefined *)0x0;" (assignment_expression "puVar9 = (undefined *)0x0" (identifier "puVar9") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (} "}")) (else_clause "else {\n        uVar16 = *(undefined4 *)(puVar3 + 0x14);\n        ppuVar5 = (undefined **)0x1;\n        puVar10 = *(undefined **)(puVar3 + 0x1c);\n        iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);\n        if (iVar2 == 0) goto LAB_000ffcbc;\n        iVar13 = *(int *)(puVar3 + 8);\n        iVar4 = *(int *)(puVar3 + 0x10);\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);\n        if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }\n        puStack_f4 = (undefined *)0x1;\n        puStack_f0 = &uStack_110;\n        ppuVar5 = &puStack_104;\n        puStack_104 = puVar3;\n        ppuStack_100 = ppuVar6;\n        puStack_fc = puVar9;\n        uStack_f8 = uVar16;\n        (**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);\n        puVar9 = puStack_f4;\n      }" (else "else") (compound_statement "{\n        uVar16 = *(undefined4 *)(puVar3 + 0x14);\n        ppuVar5 = (undefined **)0x1;\n        puVar10 = *(undefined **)(puVar3 + 0x1c);\n        iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);\n        if (iVar2 == 0) goto LAB_000ffcbc;\n        iVar13 = *(int *)(puVar3 + 8);\n        iVar4 = *(int *)(puVar3 + 0x10);\n        uStack_10c = 0;\n        uStack_110 = 0;\n        iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);\n        if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }\n        puStack_f4 = (undefined *)0x1;\n        puStack_f0 = &uStack_110;\n        ppuVar5 = &puStack_104;\n        puStack_104 = puVar3;\n        ppuStack_100 = ppuVar6;\n        puStack_fc = puVar9;\n        uStack_f8 = uVar16;\n        (**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);\n        puVar9 = puStack_f4;\n      }" ({ "{") (expression_statement "uVar16 = *(undefined4 *)(puVar3 + 0x14);" (assignment_expression "uVar16 = *(undefined4 *)(puVar3 + 0x14)" (identifier "uVar16") (= "=") (pointer_expression "*(undefined4 *)(puVar3 + 0x14)" (* "*") (cast_expression "(undefined4 *)(puVar3 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 0x14)" (( "(") (binary_expression "puVar3 + 0x14" (identifier "puVar3") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "ppuVar5 = (undefined **)0x1;" (assignment_expression "ppuVar5 = (undefined **)0x1" (identifier "ppuVar5") (= "=") (cast_expression "(undefined **)0x1" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "puVar10 = *(undefined **)(puVar3 + 0x1c);" (assignment_expression "puVar10 = *(undefined **)(puVar3 + 0x1c)" (identifier "puVar10") (= "=") (pointer_expression "*(undefined **)(puVar3 + 0x1c)" (* "*") (cast_expression "(undefined **)(puVar3 + 0x1c)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar3 + 0x1c)" (( "(") (binary_expression "puVar3 + 0x1c" (identifier "puVar3") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);" (assignment_expression "iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(pcVar19 + 0x2a9bec))(uVar16)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a9bec))" (( "(") (pointer_expression "**(code **)(pcVar19 + 0x2a9bec)" (* "*") (pointer_expression "*(code **)(pcVar19 + 0x2a9bec)" (* "*") (cast_expression "(code **)(pcVar19 + 0x2a9bec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar19 + 0x2a9bec)" (( "(") (binary_expression "pcVar19 + 0x2a9bec" (identifier "pcVar19") (+ "+") (number_literal "0x2a9bec")) () ")"))))) () ")")) (argument_list "(uVar16)" (( "(") (identifier "uVar16") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) goto LAB_000ffcbc;" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000ffcbc;" (goto "goto") (statement_identifier "LAB_000ffcbc") (; ";"))) (expression_statement "iVar13 = *(int *)(puVar3 + 8);" (assignment_expression "iVar13 = *(int *)(puVar3 + 8)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(puVar3 + 8)" (* "*") (cast_expression "(int *)(puVar3 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 8)" (( "(") (binary_expression "puVar3 + 8" (identifier "puVar3") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar4 = *(int *)(puVar3 + 0x10);" (assignment_expression "iVar4 = *(int *)(puVar3 + 0x10)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(puVar3 + 0x10)" (* "*") (cast_expression "(int *)(puVar3 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 0x10)" (( "(") (binary_expression "puVar3 + 0x10" (identifier "puVar3") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uStack_10c = 0;" (assignment_expression "uStack_10c = 0" (identifier "uStack_10c") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_110 = 0;" (assignment_expression "uStack_110 = 0" (identifier "uStack_110") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);" (assignment_expression "iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(pcVar19 + 0x2a987c))(uVar16)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a987c))" (( "(") (pointer_expression "**(code **)(pcVar19 + 0x2a987c)" (* "*") (pointer_expression "*(code **)(pcVar19 + 0x2a987c)" (* "*") (cast_expression "(code **)(pcVar19 + 0x2a987c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar19 + 0x2a987c)" (( "(") (binary_expression "pcVar19 + 0x2a987c" (identifier "pcVar19") (+ "+") (number_literal "0x2a987c")) () ")"))))) () ")")) (argument_list "(uVar16)" (( "(") (identifier "uVar16") () ")")))) (; ";")) (if_statement "if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }\n        else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }" (if "if") (parenthesized_expression "(((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3))))" (( "(") (binary_expression "((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&\n           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))" (parenthesized_expression "((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3))" (( "(") (binary_expression "(iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)" (parenthesized_expression "(iVar2 == 4)" (( "(") (binary_expression "iVar2 == 4" (identifier "iVar2") (== "==") (number_literal "4")) () ")")) (|| "||") (parenthesized_expression "(iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)" (( "(") (comma_expression "iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3" (assignment_expression "iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(pcVar19 + 0x2a987c))(uVar16)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a987c))" (( "(") (pointer_expression "**(code **)(pcVar19 + 0x2a987c)" (* "*") (pointer_expression "*(code **)(pcVar19 + 0x2a987c)" (* "*") (cast_expression "(code **)(pcVar19 + 0x2a987c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar19 + 0x2a987c)" (( "(") (binary_expression "pcVar19 + 0x2a987c" (identifier "pcVar19") (+ "+") (number_literal "0x2a987c")) () ")"))))) () ")")) (argument_list "(uVar16)" (( "(") (identifier "uVar16") () ")")))) (, ",") (binary_expression "iVar2 == 3" (identifier "iVar2") (== "==") (number_literal "3"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))" (( "(") (parenthesized_expression "(iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3))" (( "(") (comma_expression "iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)" (assignment_expression "iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(pcVar19 + 0x2a987c))(uVar16)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a987c))" (( "(") (pointer_expression "**(code **)(pcVar19 + 0x2a987c)" (* "*") (pointer_expression "*(code **)(pcVar19 + 0x2a987c)" (* "*") (cast_expression "(code **)(pcVar19 + 0x2a987c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar19 + 0x2a987c)" (( "(") (binary_expression "pcVar19 + 0x2a987c" (identifier "pcVar19") (+ "+") (number_literal "0x2a987c")) () ")"))))) () ")")) (argument_list "(uVar16)" (( "(") (identifier "uVar16") () ")")))) (, ",") (binary_expression "iVar2 == 4 ||\n            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)" (binary_expression "iVar2 == 4" (identifier "iVar2") (== "==") (number_literal "4")) (|| "||") (parenthesized_expression "(iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)" (( "(") (comma_expression "iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3" (assignment_expression "iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(pcVar19 + 0x2a987c))(uVar16)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a987c))" (( "(") (pointer_expression "**(code **)(pcVar19 + 0x2a987c)" (* "*") (pointer_expression "*(code **)(pcVar19 + 0x2a987c)" (* "*") (cast_expression "(code **)(pcVar19 + 0x2a987c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar19 + 0x2a987c)" (( "(") (binary_expression "pcVar19 + 0x2a987c" (identifier "pcVar19") (+ "+") (number_literal "0x2a987c")) () ")"))))) () ")")) (argument_list "(uVar16)" (( "(") (identifier "uVar16") () ")")))) (, ",") (binary_expression "iVar2 == 3" (identifier "iVar2") (== "==") (number_literal "3"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n          iVar13 = iVar13 - iVar4;\n          (**(code **)(pcVar19 + 0x2a9504))(7);\n          iVar2 = iVar13;\n          if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }\n          puVar8 = (undefined *)(iVar2 >> 6);\n          if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }\n          puVar10 = (undefined *)0x1;\n          if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n        }" ({ "{") (expression_statement "iVar13 = iVar13 - iVar4;" (assignment_expression "iVar13 = iVar13 - iVar4" (identifier "iVar13") (= "=") (binary_expression "iVar13 - iVar4" (identifier "iVar13") (- "-") (identifier "iVar4"))) (; ";")) (expression_statement "(**(code **)(pcVar19 + 0x2a9504))(7);" (call_expression "(**(code **)(pcVar19 + 0x2a9504))(7)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a9504))" (( "(") (pointer_expression "**(code **)(pcVar19 + 0x2a9504)" (* "*") (pointer_expression "*(code **)(pcVar19 + 0x2a9504)" (* "*") (cast_expression "(code **)(pcVar19 + 0x2a9504)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar19 + 0x2a9504)" (( "(") (binary_expression "pcVar19 + 0x2a9504" (identifier "pcVar19") (+ "+") (number_literal "0x2a9504")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "iVar2 = iVar13;" (assignment_expression "iVar2 = iVar13" (identifier "iVar2") (= "=") (identifier "iVar13")) (; ";")) (if_statement "if (iVar13 < 0) {\n            iVar2 = iVar13 + 0x3f;\n          }" (if "if") (parenthesized_expression "(iVar13 < 0)" (( "(") (binary_expression "iVar13 < 0" (identifier "iVar13") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n            iVar2 = iVar13 + 0x3f;\n          }" ({ "{") (expression_statement "iVar2 = iVar13 + 0x3f;" (assignment_expression "iVar2 = iVar13 + 0x3f" (identifier "iVar2") (= "=") (binary_expression "iVar13 + 0x3f" (identifier "iVar13") (+ "+") (number_literal "0x3f"))) (; ";")) (} "}"))) (expression_statement "puVar8 = (undefined *)(iVar2 >> 6);" (assignment_expression "puVar8 = (undefined *)(iVar2 >> 6)" (identifier "puVar8") (= "=") (cast_expression "(undefined *)(iVar2 >> 6)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 >> 6)" (( "(") (binary_expression "iVar2 >> 6" (identifier "iVar2") (>> ">>") (number_literal "6")) () ")")))) (; ";")) (if_statement "if (extraout_v1_09 < (int)puVar8) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }\n          else {\n            bVar1 = iVar13 < 0x80;\n          }" (if "if") (parenthesized_expression "(extraout_v1_09 < (int)puVar8)" (( "(") (binary_expression "extraout_v1_09 < (int)puVar8" (identifier "extraout_v1_09") (< "<") (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8"))) () ")")) (compound_statement "{\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            bVar1 = extraout_v1_12 < 2;\n          }" ({ "{") (expression_statement "(**(code **)(pcVar19 + 0x2a9504))(7);" (call_expression "(**(code **)(pcVar19 + 0x2a9504))(7)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a9504))" (( "(") (pointer_expression "**(code **)(pcVar19 + 0x2a9504)" (* "*") (pointer_expression "*(code **)(pcVar19 + 0x2a9504)" (* "*") (cast_expression "(code **)(pcVar19 + 0x2a9504)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar19 + 0x2a9504)" (( "(") (binary_expression "pcVar19 + 0x2a9504" (identifier "pcVar19") (+ "+") (number_literal "0x2a9504")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "bVar1 = extraout_v1_12 < 2;" (assignment_expression "bVar1 = extraout_v1_12 < 2" (identifier "bVar1") (= "=") (binary_expression "extraout_v1_12 < 2" (identifier "extraout_v1_12") (< "<") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else {\n            bVar1 = iVar13 < 0x80;\n          }" (else "else") (compound_statement "{\n            bVar1 = iVar13 < 0x80;\n          }" ({ "{") (expression_statement "bVar1 = iVar13 < 0x80;" (assignment_expression "bVar1 = iVar13 < 0x80" (identifier "bVar1") (= "=") (binary_expression "iVar13 < 0x80" (identifier "iVar13") (< "<") (number_literal "0x80"))) (; ";")) (} "}")))) (expression_statement "puVar10 = (undefined *)0x1;" (assignment_expression "puVar10 = (undefined *)0x1" (identifier "puVar10") (= "=") (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (if_statement "if ((bool)(bVar1 ^ 1)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\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 **)(pcVar19 + 0x2a9504))(7);\n            if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }\n            goto LAB_000ffd68;\n          }" ({ "{") (expression_statement "(**(code **)(pcVar19 + 0x2a9504))(7);" (call_expression "(**(code **)(pcVar19 + 0x2a9504))(7)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a9504))" (( "(") (pointer_expression "**(code **)(pcVar19 + 0x2a9504)" (* "*") (pointer_expression "*(code **)(pcVar19 + 0x2a9504)" (* "*") (cast_expression "(code **)(pcVar19 + 0x2a9504)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar19 + 0x2a9504)" (( "(") (binary_expression "pcVar19 + 0x2a9504" (identifier "pcVar19") (+ "+") (number_literal "0x2a9504")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (if_statement "if (extraout_v1_11 < (int)puVar8) {\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }" (if "if") (parenthesized_expression "(extraout_v1_11 < (int)puVar8)" (( "(") (binary_expression "extraout_v1_11 < (int)puVar8" (identifier "extraout_v1_11") (< "<") (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8"))) () ")")) (compound_statement "{\n              (**(code **)(pcVar19 + 0x2a9504))(7);\n              puVar8 = extraout_v1_13;\n            }" ({ "{") (expression_statement "(**(code **)(pcVar19 + 0x2a9504))(7);" (call_expression "(**(code **)(pcVar19 + 0x2a9504))(7)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a9504))" (( "(") (pointer_expression "**(code **)(pcVar19 + 0x2a9504)" (* "*") (pointer_expression "*(code **)(pcVar19 + 0x2a9504)" (* "*") (cast_expression "(code **)(pcVar19 + 0x2a9504)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar19 + 0x2a9504)" (( "(") (binary_expression "pcVar19 + 0x2a9504" (identifier "pcVar19") (+ "+") (number_literal "0x2a9504")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "puVar8 = extraout_v1_13;" (assignment_expression "puVar8 = extraout_v1_13" (identifier "puVar8") (= "=") (identifier "extraout_v1_13")) (; ";")) (} "}"))) (goto_statement "goto LAB_000ffd68;" (goto "goto") (statement_identifier "LAB_000ffd68") (; ";")) (} "}"))) (expression_statement "iVar2 = *(int *)(pcVar19 + 0x2a8e5c);" (assignment_expression "iVar2 = *(int *)(pcVar19 + 0x2a8e5c)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(pcVar19 + 0x2a8e5c)" (* "*") (cast_expression "(int *)(pcVar19 + 0x2a8e5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar19 + 0x2a8e5c)" (( "(") (binary_expression "pcVar19 + 0x2a8e5c" (identifier "pcVar19") (+ "+") (number_literal "0x2a8e5c")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }" (else "else") (compound_statement "{\n          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);\n          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }\n          uVar21 = (*pcVar20)(7);\n          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }\nLAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);\n          puVar10 = puVar8;\n        }" ({ "{") (expression_statement "uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);" (assignment_expression "uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7)" (identifier "uVar21") (= "=") (call_expression "(**(code **)(pcVar19 + 0x2a9504))(7)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a9504))" (( "(") (pointer_expression "**(code **)(pcVar19 + 0x2a9504)" (* "*") (pointer_expression "*(code **)(pcVar19 + 0x2a9504)" (* "*") (cast_expression "(code **)(pcVar19 + 0x2a9504)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar19 + 0x2a9504)" (( "(") (binary_expression "pcVar19 + 0x2a9504" (identifier "pcVar19") (+ "+") (number_literal "0x2a9504")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if ((int)((ulonglong)uVar21 >> 0x20) == 0) {\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }\n          else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }" (if "if") (parenthesized_expression "((int)((ulonglong)uVar21 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar21 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar21 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar21 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar21")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n            if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }\n          }" ({ "{") (expression_statement "pcVar20 = *(code **)(pcVar19 + 0x2a9504);" (assignment_expression "pcVar20 = *(code **)(pcVar19 + 0x2a9504)" (identifier "pcVar20") (= "=") (pointer_expression "*(code **)(pcVar19 + 0x2a9504)" (* "*") (cast_expression "(code **)(pcVar19 + 0x2a9504)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar19 + 0x2a9504)" (( "(") (binary_expression "pcVar19 + 0x2a9504" (identifier "pcVar19") (+ "+") (number_literal "0x2a9504")) () ")"))))) (; ";")) (if_statement "if ((uint)uVar21 < 2) {\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }" (if "if") (parenthesized_expression "((uint)uVar21 < 2)" (( "(") (binary_expression "(uint)uVar21 < 2" (cast_expression "(uint)uVar21" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar21")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n              uVar21 = (*pcVar20)(7);\n              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;\n              pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n              if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }\n            }" ({ "{") (expression_statement "uVar21 = (*pcVar20)(7);" (assignment_expression "uVar21 = (*pcVar20)(7)" (identifier "uVar21") (= "=") (call_expression "(*pcVar20)(7)" (parenthesized_expression "(*pcVar20)" (( "(") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20")) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;" (if "if") (parenthesized_expression "((int)((ulonglong)uVar21 >> 0x20) != 0)" (( "(") (binary_expression "(int)((ulonglong)uVar21 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar21 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar21 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar21")) (>> ">>") (number_literal "0x20")) () ")"))) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000ffd50;" (goto "goto") (statement_identifier "LAB_000ffd50") (; ";"))) (expression_statement "pcVar20 = *(code **)(pcVar19 + 0x2a9504);" (assignment_expression "pcVar20 = *(code **)(pcVar19 + 0x2a9504)" (identifier "pcVar20") (= "=") (pointer_expression "*(code **)(pcVar19 + 0x2a9504)" (* "*") (cast_expression "(code **)(pcVar19 + 0x2a9504)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar19 + 0x2a9504)" (( "(") (binary_expression "pcVar19 + 0x2a9504" (identifier "pcVar19") (+ "+") (number_literal "0x2a9504")) () ")"))))) (; ";")) (if_statement "if ((uint)uVar21 < 2) {\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }" (if "if") (parenthesized_expression "((uint)uVar21 < 2)" (( "(") (binary_expression "(uint)uVar21 < 2" (cast_expression "(uint)uVar21" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar21")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n                puVar8 = (undefined *)0x1;\n                goto LAB_000ffd68;\n              }" ({ "{") (expression_statement "puVar8 = (undefined *)0x1;" (assignment_expression "puVar8 = (undefined *)0x1" (identifier "puVar8") (= "=") (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (goto_statement "goto LAB_000ffd68;" (goto "goto") (statement_identifier "LAB_000ffd68") (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }" (else "else") (compound_statement "{\nLAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);\n          }" ({ "{") (labeled_statement "LAB_000ffd50:\n            pcVar20 = *(code **)(pcVar19 + 0x2a9504);" (statement_identifier "LAB_000ffd50") (: ":") (expression_statement "pcVar20 = *(code **)(pcVar19 + 0x2a9504);" (assignment_expression "pcVar20 = *(code **)(pcVar19 + 0x2a9504)" (identifier "pcVar20") (= "=") (pointer_expression "*(code **)(pcVar19 + 0x2a9504)" (* "*") (cast_expression "(code **)(pcVar19 + 0x2a9504)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar19 + 0x2a9504)" (( "(") (binary_expression "pcVar19 + 0x2a9504" (identifier "pcVar19") (+ "+") (number_literal "0x2a9504")) () ")"))))) (; ";"))) (} "}")))) (expression_statement "uVar21 = (*pcVar20)(7);" (assignment_expression "uVar21 = (*pcVar20)(7)" (identifier "uVar21") (= "=") (call_expression "(*pcVar20)(7)" (parenthesized_expression "(*pcVar20)" (( "(") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20")) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }\n          else {\n            puVar8 = (undefined *)0x2;\n          }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)" (parenthesized_expression "((int)((ulonglong)uVar21 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar21 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar21 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar21 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar21")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)uVar21 < 2)" (( "(") (binary_expression "(uint)uVar21 < 2" (cast_expression "(uint)uVar21" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar21")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n            (**(code **)(pcVar19 + 0x2a9504))(7);\n            puVar8 = extraout_v1_10;\n          }" ({ "{") (expression_statement "(**(code **)(pcVar19 + 0x2a9504))(7);" (call_expression "(**(code **)(pcVar19 + 0x2a9504))(7)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a9504))" (( "(") (pointer_expression "**(code **)(pcVar19 + 0x2a9504)" (* "*") (pointer_expression "*(code **)(pcVar19 + 0x2a9504)" (* "*") (cast_expression "(code **)(pcVar19 + 0x2a9504)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar19 + 0x2a9504)" (( "(") (binary_expression "pcVar19 + 0x2a9504" (identifier "pcVar19") (+ "+") (number_literal "0x2a9504")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "puVar8 = extraout_v1_10;" (assignment_expression "puVar8 = extraout_v1_10" (identifier "puVar8") (= "=") (identifier "extraout_v1_10")) (; ";")) (} "}")) (else_clause "else {\n            puVar8 = (undefined *)0x2;\n          }" (else "else") (compound_statement "{\n            puVar8 = (undefined *)0x2;\n          }" ({ "{") (expression_statement "puVar8 = (undefined *)0x2;" (assignment_expression "puVar8 = (undefined *)0x2" (identifier "puVar8") (= "=") (cast_expression "(undefined *)0x2" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) (; ";")) (} "}")))) (labeled_statement "LAB_000ffd68:\n          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);" (statement_identifier "LAB_000ffd68") (: ":") (expression_statement "iVar2 = *(int *)(pcVar19 + 0x2a8e5c);" (assignment_expression "iVar2 = *(int *)(pcVar19 + 0x2a8e5c)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(pcVar19 + 0x2a8e5c)" (* "*") (cast_expression "(int *)(pcVar19 + 0x2a8e5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar19 + 0x2a8e5c)" (( "(") (binary_expression "pcVar19 + 0x2a8e5c" (identifier "pcVar19") (+ "+") (number_literal "0x2a8e5c")) () ")"))))) (; ";"))) (expression_statement "puVar10 = puVar8;" (assignment_expression "puVar10 = puVar8" (identifier "puVar10") (= "=") (identifier "puVar8")) (; ";")) (} "}")))) (expression_statement "puStack_f4 = (undefined *)0x1;" (assignment_expression "puStack_f4 = (undefined *)0x1" (identifier "puStack_f4") (= "=") (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "puStack_f0 = &uStack_110;" (assignment_expression "puStack_f0 = &uStack_110" (identifier "puStack_f0") (= "=") (pointer_expression "&uStack_110" (& "&") (identifier "uStack_110"))) (; ";")) (expression_statement "ppuVar5 = &puStack_104;" (assignment_expression "ppuVar5 = &puStack_104" (identifier "ppuVar5") (= "=") (pointer_expression "&puStack_104" (& "&") (identifier "puStack_104"))) (; ";")) (expression_statement "puStack_104 = puVar3;" (assignment_expression "puStack_104 = puVar3" (identifier "puStack_104") (= "=") (identifier "puVar3")) (; ";")) (expression_statement "ppuStack_100 = ppuVar6;" (assignment_expression "ppuStack_100 = ppuVar6" (identifier "ppuStack_100") (= "=") (identifier "ppuVar6")) (; ";")) (expression_statement "puStack_fc = puVar9;" (assignment_expression "puStack_fc = puVar9" (identifier "puStack_fc") (= "=") (identifier "puVar9")) (; ";")) (expression_statement "uStack_f8 = uVar16;" (assignment_expression "uStack_f8 = uVar16" (identifier "uStack_f8") (= "=") (identifier "uVar16")) (; ";")) (expression_statement "(**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);" (call_expression "(**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a9560))" (( "(") (pointer_expression "**(code **)(pcVar19 + 0x2a9560)" (* "*") (pointer_expression "*(code **)(pcVar19 + 0x2a9560)" (* "*") (cast_expression "(code **)(pcVar19 + 0x2a9560)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar19 + 0x2a9560)" (( "(") (binary_expression "pcVar19 + 0x2a9560" (identifier "pcVar19") (+ "+") (number_literal "0x2a9560")) () ")"))))) () ")")) (argument_list "(iVar2 + -0x1ca0,ppuVar5,puVar10,0)" (( "(") (binary_expression "iVar2 + -0x1ca0" (identifier "iVar2") (+ "+") (number_literal "-0x1ca0")) (, ",") (identifier "ppuVar5") (, ",") (identifier "puVar10") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "puVar9 = puStack_f4;" (assignment_expression "puVar9 = puStack_f4" (identifier "puVar9") (= "=") (identifier "puStack_f4")) (; ";")) (} "}")))) (expression_statement "iVar2 = iStack_ec;" (assignment_expression "iVar2 = iStack_ec" (identifier "iVar2") (= "=") (identifier "iStack_ec")) (; ";")) (if_statement "if (iStack_ec == *piVar15) {\n        return puVar9;\n      }" (if "if") (parenthesized_expression "(iStack_ec == *piVar15)" (( "(") (binary_expression "iStack_ec == *piVar15" (identifier "iStack_ec") (== "==") (pointer_expression "*piVar15" (* "*") (identifier "piVar15"))) () ")")) (compound_statement "{\n        return puVar9;\n      }" ({ "{") (return_statement "return puVar9;" (return "return") (identifier "puVar9") (; ";")) (} "}"))) (goto_statement "goto LAB_000fff14;" (goto "goto") (statement_identifier "LAB_000fff14") (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar19 + 0x2a99d0))\n              (*(int *)(pcVar19 + 0x2a8cb0) + 0x3930,*(int *)(pcVar19 + 0x2a8cac) + -0x5168,0x481,\n               *(int *)(pcVar19 + 0x2a8cac) + -0x5020);" (call_expression "(**(code **)(pcVar19 + 0x2a99d0))\n              (*(int *)(pcVar19 + 0x2a8cb0) + 0x3930,*(int *)(pcVar19 + 0x2a8cac) + -0x5168,0x481,\n               *(int *)(pcVar19 + 0x2a8cac) + -0x5020)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a99d0))" (( "(") (pointer_expression "**(code **)(pcVar19 + 0x2a99d0)" (* "*") (pointer_expression "*(code **)(pcVar19 + 0x2a99d0)" (* "*") (cast_expression "(code **)(pcVar19 + 0x2a99d0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar19 + 0x2a99d0)" (( "(") (binary_expression "pcVar19 + 0x2a99d0" (identifier "pcVar19") (+ "+") (number_literal "0x2a99d0")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar19 + 0x2a8cb0) + 0x3930,*(int *)(pcVar19 + 0x2a8cac) + -0x5168,0x481,\n               *(int *)(pcVar19 + 0x2a8cac) + -0x5020)" (( "(") (binary_expression "*(int *)(pcVar19 + 0x2a8cb0) + 0x3930" (pointer_expression "*(int *)(pcVar19 + 0x2a8cb0)" (* "*") (cast_expression "(int *)(pcVar19 + 0x2a8cb0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar19 + 0x2a8cb0)" (( "(") (binary_expression "pcVar19 + 0x2a8cb0" (identifier "pcVar19") (+ "+") (number_literal "0x2a8cb0")) () ")")))) (+ "+") (number_literal "0x3930")) (, ",") (binary_expression "*(int *)(pcVar19 + 0x2a8cac) + -0x5168" (pointer_expression "*(int *)(pcVar19 + 0x2a8cac)" (* "*") (cast_expression "(int *)(pcVar19 + 0x2a8cac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar19 + 0x2a8cac)" (( "(") (binary_expression "pcVar19 + 0x2a8cac" (identifier "pcVar19") (+ "+") (number_literal "0x2a8cac")) () ")")))) (+ "+") (number_literal "-0x5168")) (, ",") (number_literal "0x481") (, ",") (binary_expression "*(int *)(pcVar19 + 0x2a8cac) + -0x5020" (pointer_expression "*(int *)(pcVar19 + 0x2a8cac)" (* "*") (cast_expression "(int *)(pcVar19 + 0x2a8cac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar19 + 0x2a8cac)" (( "(") (binary_expression "pcVar19 + 0x2a8cac" (identifier "pcVar19") (+ "+") (number_literal "0x2a8cac")) () ")")))) (+ "+") (number_literal "-0x5020")) () ")"))) (; ";")) (} "}"))) (expression_statement "puVar10 = (undefined *)0x480;" (assignment_expression "puVar10 = (undefined *)0x480" (identifier "puVar10") (= "=") (cast_expression "(undefined *)0x480" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x480"))) (; ";")) (expression_statement "ppuVar5 = (undefined **)(*(int *)(pcVar19 + 0x2a8cac) + -0x5168);" (assignment_expression "ppuVar5 = (undefined **)(*(int *)(pcVar19 + 0x2a8cac) + -0x5168)" (identifier "ppuVar5") (= "=") (cast_expression "(undefined **)(*(int *)(pcVar19 + 0x2a8cac) + -0x5168)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pcVar19 + 0x2a8cac) + -0x5168)" (( "(") (binary_expression "*(int *)(pcVar19 + 0x2a8cac) + -0x5168" (pointer_expression "*(int *)(pcVar19 + 0x2a8cac)" (* "*") (cast_expression "(int *)(pcVar19 + 0x2a8cac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar19 + 0x2a8cac)" (( "(") (binary_expression "pcVar19 + 0x2a8cac" (identifier "pcVar19") (+ "+") (number_literal "0x2a8cac")) () ")")))) (+ "+") (number_literal "-0x5168")) () ")")))) (; ";")) (expression_statement "iVar2 = *(int *)(pcVar19 + 0x2a8cac) + -0x50fc;" (assignment_expression "iVar2 = *(int *)(pcVar19 + 0x2a8cac) + -0x50fc" (identifier "iVar2") (= "=") (binary_expression "*(int *)(pcVar19 + 0x2a8cac) + -0x50fc" (pointer_expression "*(int *)(pcVar19 + 0x2a8cac)" (* "*") (cast_expression "(int *)(pcVar19 + 0x2a8cac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar19 + 0x2a8cac)" (( "(") (binary_expression "pcVar19 + 0x2a8cac" (identifier "pcVar19") (+ "+") (number_literal "0x2a8cac")) () ")")))) (+ "+") (number_literal "-0x50fc"))) (; ";")) (expression_statement "(**(code **)(pcVar19 + 0x2a99d0))();" (call_expression "(**(code **)(pcVar19 + 0x2a99d0))()" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a99d0))" (( "(") (pointer_expression "**(code **)(pcVar19 + 0x2a99d0)" (* "*") (pointer_expression "*(code **)(pcVar19 + 0x2a99d0)" (* "*") (cast_expression "(code **)(pcVar19 + 0x2a99d0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar19 + 0x2a99d0)" (( "(") (binary_expression "pcVar19 + 0x2a99d0" (identifier "pcVar19") (+ "+") (number_literal "0x2a99d0")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_000fff14:\n  pcVar19 = *(code **)(pcVar19 + 0x2a942c);" (statement_identifier "LAB_000fff14") (: ":") (expression_statement "pcVar19 = *(code **)(pcVar19 + 0x2a942c);" (assignment_expression "pcVar19 = *(code **)(pcVar19 + 0x2a942c)" (identifier "pcVar19") (= "=") (pointer_expression "*(code **)(pcVar19 + 0x2a942c)" (* "*") (cast_expression "(code **)(pcVar19 + 0x2a942c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar19 + 0x2a942c)" (( "(") (binary_expression "pcVar19 + 0x2a942c" (identifier "pcVar19") (+ "+") (number_literal "0x2a942c")) () ")"))))) (; ";"))) (expression_statement "(*pcVar19)();" (call_expression "(*pcVar19)()" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (*(int *)(iVar2 + 700) == 0) {\n    (**(code **)(pcVar19 + 0x2a8df4))();\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar2 + 700) == 0)" (( "(") (binary_expression "*(int *)(iVar2 + 700) == 0" (pointer_expression "*(int *)(iVar2 + 700)" (* "*") (cast_expression "(int *)(iVar2 + 700)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 700)" (( "(") (binary_expression "iVar2 + 700" (identifier "iVar2") (+ "+") (number_literal "700")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    (**(code **)(pcVar19 + 0x2a8df4))();\n  }" ({ "{") (expression_statement "(**(code **)(pcVar19 + 0x2a8df4))();" (call_expression "(**(code **)(pcVar19 + 0x2a8df4))()" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a8df4))" (( "(") (pointer_expression "**(code **)(pcVar19 + 0x2a8df4)" (* "*") (pointer_expression "*(code **)(pcVar19 + 0x2a8df4)" (* "*") (cast_expression "(code **)(pcVar19 + 0x2a8df4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar19 + 0x2a8df4)" (( "(") (binary_expression "pcVar19 + 0x2a8df4" (identifier "pcVar19") (+ "+") (number_literal "0x2a8df4")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar9 = ppuVar5[1];" (assignment_expression "puVar9 = ppuVar5[1]" (identifier "puVar9") (= "=") (subscript_expression "ppuVar5[1]" (identifier "ppuVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" (identifier "iVar13") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0 < (int)puVar9) {\n    do {\n      iVar4 = (**(code **)(pcVar19 + 0x2a8e18))\n                        (iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      puVar8 = *ppuVar5;\n      puVar9 = (undefined *)0x0;\n      if (0 < (int)puVar8) {\n        iVar12 = *(int *)(iVar2 + 0x2d0);\n        iVar7 = *(int *)(iVar2 + 0x2c0);\n        iVar11 = *(int *)(iVar12 + 0x34);\n        do {\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        } while (puVar9 != puVar8);\n      }\n      iVar4 = (**(code **)(pcVar19 + 0x2a92c4))(iVar2,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      iVar13 = iVar13 + 1;\n      puVar9 = (undefined *)(uint)(iVar13 < (int)ppuVar5[1]);\n    } while (puVar9 != (undefined *)0x0);\n  }" (if "if") (parenthesized_expression "(0 < (int)puVar9)" (( "(") (binary_expression "0 < (int)puVar9" (number_literal "0") (< "<") (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9"))) () ")")) (compound_statement "{\n    do {\n      iVar4 = (**(code **)(pcVar19 + 0x2a8e18))\n                        (iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      puVar8 = *ppuVar5;\n      puVar9 = (undefined *)0x0;\n      if (0 < (int)puVar8) {\n        iVar12 = *(int *)(iVar2 + 0x2d0);\n        iVar7 = *(int *)(iVar2 + 0x2c0);\n        iVar11 = *(int *)(iVar12 + 0x34);\n        do {\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        } while (puVar9 != puVar8);\n      }\n      iVar4 = (**(code **)(pcVar19 + 0x2a92c4))(iVar2,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      iVar13 = iVar13 + 1;\n      puVar9 = (undefined *)(uint)(iVar13 < (int)ppuVar5[1]);\n    } while (puVar9 != (undefined *)0x0);\n  }" ({ "{") (do_statement "do {\n      iVar4 = (**(code **)(pcVar19 + 0x2a8e18))\n                        (iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      puVar8 = *ppuVar5;\n      puVar9 = (undefined *)0x0;\n      if (0 < (int)puVar8) {\n        iVar12 = *(int *)(iVar2 + 0x2d0);\n        iVar7 = *(int *)(iVar2 + 0x2c0);\n        iVar11 = *(int *)(iVar12 + 0x34);\n        do {\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        } while (puVar9 != puVar8);\n      }\n      iVar4 = (**(code **)(pcVar19 + 0x2a92c4))(iVar2,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      iVar13 = iVar13 + 1;\n      puVar9 = (undefined *)(uint)(iVar13 < (int)ppuVar5[1]);\n    } while (puVar9 != (undefined *)0x0);" (do "do") (compound_statement "{\n      iVar4 = (**(code **)(pcVar19 + 0x2a8e18))\n                        (iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      puVar8 = *ppuVar5;\n      puVar9 = (undefined *)0x0;\n      if (0 < (int)puVar8) {\n        iVar12 = *(int *)(iVar2 + 0x2d0);\n        iVar7 = *(int *)(iVar2 + 0x2c0);\n        iVar11 = *(int *)(iVar12 + 0x34);\n        do {\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        } while (puVar9 != puVar8);\n      }\n      iVar4 = (**(code **)(pcVar19 + 0x2a92c4))(iVar2,puVar10);\n      if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }\n      iVar13 = iVar13 + 1;\n      puVar9 = (undefined *)(uint)(iVar13 < (int)ppuVar5[1]);\n    }" ({ "{") (expression_statement "iVar4 = (**(code **)(pcVar19 + 0x2a8e18))\n                        (iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10);" (assignment_expression "iVar4 = (**(code **)(pcVar19 + 0x2a8e18))\n                        (iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar19 + 0x2a8e18))\n                        (iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a8e18))" (( "(") (pointer_expression "**(code **)(pcVar19 + 0x2a8e18)" (* "*") (pointer_expression "*(code **)(pcVar19 + 0x2a8e18)" (* "*") (cast_expression "(code **)(pcVar19 + 0x2a8e18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar19 + 0x2a8e18)" (( "(") (binary_expression "pcVar19 + 0x2a8e18" (identifier "pcVar19") (+ "+") (number_literal "0x2a8e18")) () ")"))))) () ")")) (argument_list "(iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10)" (( "(") (identifier "iVar2") (, ",") (subscript_expression "ppuVar5[2]" (identifier "ppuVar5") ([ "[") (number_literal "2") (] "]")) (, ",") (binary_expression "ppuVar5[3] + iVar13" (subscript_expression "ppuVar5[3]" (identifier "ppuVar5") ([ "[") (number_literal "3") (] "]")) (+ "+") (identifier "iVar13")) (, ",") (pointer_expression "*ppuVar5" (* "*") (identifier "ppuVar5")) (, ",") (number_literal "1") (, ",") (identifier "puVar10") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        return (undefined *)0x0;\n      }" ({ "{") (return_statement "return (undefined *)0x0;" (return "return") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (expression_statement "puVar8 = *ppuVar5;" (assignment_expression "puVar8 = *ppuVar5" (identifier "puVar8") (= "=") (pointer_expression "*ppuVar5" (* "*") (identifier "ppuVar5"))) (; ";")) (expression_statement "puVar9 = (undefined *)0x0;" (assignment_expression "puVar9 = (undefined *)0x0" (identifier "puVar9") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (0 < (int)puVar8) {\n        iVar12 = *(int *)(iVar2 + 0x2d0);\n        iVar7 = *(int *)(iVar2 + 0x2c0);\n        iVar11 = *(int *)(iVar12 + 0x34);\n        do {\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        } while (puVar9 != puVar8);\n      }" (if "if") (parenthesized_expression "(0 < (int)puVar8)" (( "(") (binary_expression "0 < (int)puVar8" (number_literal "0") (< "<") (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8"))) () ")")) (compound_statement "{\n        iVar12 = *(int *)(iVar2 + 0x2d0);\n        iVar7 = *(int *)(iVar2 + 0x2c0);\n        iVar11 = *(int *)(iVar12 + 0x34);\n        do {\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        } while (puVar9 != puVar8);\n      }" ({ "{") (expression_statement "iVar12 = *(int *)(iVar2 + 0x2d0);" (assignment_expression "iVar12 = *(int *)(iVar2 + 0x2d0)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(iVar2 + 0x2d0)" (* "*") (cast_expression "(int *)(iVar2 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x2d0)" (( "(") (binary_expression "iVar2 + 0x2d0" (identifier "iVar2") (+ "+") (number_literal "0x2d0")) () ")"))))) (; ";")) (expression_statement "iVar7 = *(int *)(iVar2 + 0x2c0);" (assignment_expression "iVar7 = *(int *)(iVar2 + 0x2c0)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(iVar2 + 0x2c0)" (* "*") (cast_expression "(int *)(iVar2 + 0x2c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x2c0)" (( "(") (binary_expression "iVar2 + 0x2c0" (identifier "iVar2") (+ "+") (number_literal "0x2c0")) () ")"))))) (; ";")) (expression_statement "iVar11 = *(int *)(iVar12 + 0x34);" (assignment_expression "iVar11 = *(int *)(iVar12 + 0x34)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(iVar12 + 0x34)" (* "*") (cast_expression "(int *)(iVar12 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x34)" (( "(") (binary_expression "iVar12 + 0x34" (identifier "iVar12") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (do_statement "do {\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        } while (puVar9 != puVar8);" (do "do") (compound_statement "{\n          puVar9 = puVar9 + 1;\n          if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }\n          iVar4 = iVar4 + iVar7 * 4;\n        }" ({ "{") (expression_statement "puVar9 = puVar9 + 1;" (assignment_expression "puVar9 = puVar9 + 1" (identifier "puVar9") (= "=") (binary_expression "puVar9 + 1" (identifier "puVar9") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar11 != 0) {\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }" (if "if") (parenthesized_expression "(iVar11 != 0)" (( "(") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;\n          }" ({ "{") (expression_statement "*(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;" (assignment_expression "*(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0" (pointer_expression "*(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4)" (* "*") (cast_expression "(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + *(int *)(iVar12 + 0x38) * 4)" (( "(") (binary_expression "iVar4 + *(int *)(iVar12 + 0x38) * 4" (identifier "iVar4") (+ "+") (binary_expression "*(int *)(iVar12 + 0x38) * 4" (pointer_expression "*(int *)(iVar12 + 0x38)" (* "*") (cast_expression "(int *)(iVar12 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x38)" (( "(") (binary_expression "iVar12 + 0x38" (identifier "iVar12") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "iVar4 = iVar4 + iVar7 * 4;" (assignment_expression "iVar4 = iVar4 + iVar7 * 4" (identifier "iVar4") (= "=") (binary_expression "iVar4 + iVar7 * 4" (identifier "iVar4") (+ "+") (binary_expression "iVar7 * 4" (identifier "iVar7") (* "*") (number_literal "4")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar9 != puVar8)" (( "(") (binary_expression "puVar9 != puVar8" (identifier "puVar9") (!= "!=") (identifier "puVar8")) () ")")) (; ";")) (} "}"))) (expression_statement "iVar4 = (**(code **)(pcVar19 + 0x2a92c4))(iVar2,puVar10);" (assignment_expression "iVar4 = (**(code **)(pcVar19 + 0x2a92c4))(iVar2,puVar10)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar19 + 0x2a92c4))(iVar2,puVar10)" (parenthesized_expression "(**(code **)(pcVar19 + 0x2a92c4))" (( "(") (pointer_expression "**(code **)(pcVar19 + 0x2a92c4)" (* "*") (pointer_expression "*(code **)(pcVar19 + 0x2a92c4)" (* "*") (cast_expression "(code **)(pcVar19 + 0x2a92c4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar19 + 0x2a92c4)" (( "(") (binary_expression "pcVar19 + 0x2a92c4" (identifier "pcVar19") (+ "+") (number_literal "0x2a92c4")) () ")"))))) () ")")) (argument_list "(iVar2,puVar10)" (( "(") (identifier "iVar2") (, ",") (identifier "puVar10") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n        return (undefined *)0x0;\n      }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        return (undefined *)0x0;\n      }" ({ "{") (return_statement "return (undefined *)0x0;" (return "return") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" (identifier "iVar13") (= "=") (binary_expression "iVar13 + 1" (identifier "iVar13") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar9 = (undefined *)(uint)(iVar13 < (int)ppuVar5[1]);" (assignment_expression "puVar9 = (undefined *)(uint)(iVar13 < (int)ppuVar5[1])" (identifier "puVar9") (= "=") (cast_expression "(undefined *)(uint)(iVar13 < (int)ppuVar5[1])" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(iVar13 < (int)ppuVar5[1])" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar13 < (int)ppuVar5[1])" (( "(") (binary_expression "iVar13 < (int)ppuVar5[1]" (identifier "iVar13") (< "<") (cast_expression "(int)ppuVar5[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppuVar5[1]" (identifier "ppuVar5") ([ "[") (number_literal "1") (] "]")))) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar9 != (undefined *)0x0)" (( "(") (binary_expression "puVar9 != (undefined *)0x0" (identifier "puVar9") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}"))) (return_statement "return puVar9;" (return "return") (identifier "puVar9") (; ";")) (} "}")))

/* 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 */

type_1 function_1(type_2 *var_1,type_3 var_3,void *context)

{
  bool var_8;
  type_4 *puVar2;
  int var_4;
  type_1 MVar4;
  type_2 *var_14;
  int var_29;
  int var_6;
  type_5 *extraout_v1_00;
  int var_10;
  int var_7;
  type_5 *extraout_v1_03;
  int var_18;
  type_5 *extraout_v1_05;
  int var_20;
  int var_19;
  type_5 *extraout_v1_08;
  int var_25;
  type_5 *extraout_v1_10;
  int var_27;
  int var_26;
  type_5 *extraout_v1_13;
  type_2 **ppIVar7;
  type_2 **var_24;
  int var_32;
  type_5 *var_15;
  type_5 *pIVar11;
  type_2 *var_23;
  type_4 *in_a3;
  int var_31;
  int var_30;
  type_2 *unaff_s0;
  int var_5;
  int *piVar16;
  int *piVar17;
  type_2 **unaff_s2;
  type_5 *unaff_s3;
  type_4 *unaff_s4;
  type_5 *var_9;
  type_5 *pIVar18;
  size_t var_17;
  type_5 *unaff_s6;
  type_5 *pIVar20;
  type_4 *var_13;
  type_6 *var_22;
  type_6 *pcVar23;
  type_7 uVar24;
  type_8 uStack_110;
  type_8 uStack_10c;
  type_2 *pIStack_104;
  type_2 **ppIStack_100;
  type_5 *pIStack_fc;
  type_5 *pIStack_f8;
  type_1 MStack_f4;
  type_8 *puStack_f0;
  int var_28;
  type_2 *pIStack_e8;
  int *piStack_e4;
  type_2 **ppIStack_e0;
  type_5 *pIStack_dc;
  type_4 *puStack_d8;
  type_5 *pIStack_d4;
  type_5 *pIStack_d0;
  type_6 *pcStack_cc;
  type_4 *var_16;
  type_8 uStack_b0;
  type_8 uStack_ac;
  type_2 *pIStack_a8;
  type_2 **ppIStack_a4;
  type_5 *pIStack_a0;
  type_4 *puStack_9c;
  type_5 *pIStack_98;
  type_1 MStack_94;
  type_8 *puStack_90;
  type_2 *var_21;
  type_2 *pIStack_88;
  type_4 *puStack_84;
  type_2 **ppIStack_80;
  type_5 *pIStack_7c;
  type_4 *puStack_78;
  type_5 *pIStack_74;
  type_5 *pIStack_70;
  type_9 progress;
  type_2 *local_3c;
  type_3 local_38;
  void *local_34;
  type_5 *local_30;
  type_1 local_2c;
  type_9 *local_28;
  type_2 *var_12;
  
  puVar2 = PTR___stack_chk_guard_003a9230;
  var_12 = *(type_2 **)PTR___stack_chk_guard_003a9230;
  if (var_1 == (type_2 *)0x0) {
LAB_000ff904:
    var_15 = (type_5 *)0x37a;
    in_a3 = var_2 + -0x4fec;
    ppIVar7 = (type_2 **)(var_2 + -0x5168);
    var_14 = (type_2 *)(var_2 + -0x5080);
    (*(type_6 *)PTR___assert_fail_003a9608)();
  }
  else {
    unaff_s0 = var_1;
    if (var_1->signature != 0xabacadab) {
      (*(type_6 *)PTR___assert_fail_003a9608)
                (var_2 + -0x505c,var_2 + -0x5168,0x37b,
                 var_2 + -0x4fec);
      goto LAB_000ff904;
    }
    ppIVar7 = (type_2 **)var_3;
    var_15 = (type_5 *)context;
    if (var_3 == (type_3)0x0) {
LAB_000ff6d0:
      MVar4 = MagickFalse;
      context = unaff_s4;
    }
    else {
      unaff_s3 = var_1->image;
      ppIVar7 = (type_2 **)0x1;
      var_15 = (type_5 *)var_1->exception;
      var_4 = (*(type_6 *)PTR_SetImageStorageClass_003a9824)(unaff_s3);
      unaff_s4 = (type_4 *)context;
      if (var_4 == 0) goto LAB_000ff6d0;
      var_9 = (type_5 *)(var_1->extent).height;
      unaff_s6 = (type_5 *)(var_1->extent).y;
      progress._4_4_ = 0;
      progress._0_4_ = 0;
      var_4 = (*(type_6 *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);
      if (((var_4 == 4) ||
          (var_4 = (*(type_6 *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), var_4 == 3)) &&
         ((var_4 = (*(type_6 *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), var_4 == 4 ||
          (var_4 = (*(type_6 *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), var_4 == 3)))) {
        var_5 = (int)var_9 - (int)unaff_s6;
        (*(type_6 *)PTR_GetMagickResourceLimit_003a913c)(7);
        var_4 = var_5;
        if (var_5 < 0) {
          var_4 = var_5 + 0x3f;
        }
        unaff_s6 = (type_5 *)(var_4 >> 6);
        if (var_6 < (int)unaff_s6) {
          (*(type_6 *)PTR_GetMagickResourceLimit_003a913c)(7);
          var_8 = var_7 < 2;
        }
        else {
          var_8 = var_5 < 0x80;
        }
        var_9 = (type_5 *)(var_8 ^ 1);
        var_15 = (type_5 *)0x1;
        if ((var_9 != (type_5 *)0x0) &&
           ((*(type_6 *)PTR_GetMagickResourceLimit_003a913c)(7), var_15 = unaff_s6,
           var_10 < (int)unaff_s6)) {
          (*(type_6 *)PTR_GetMagickResourceLimit_003a913c)(7);
          var_15 = extraout_v1_03;
          unaff_s6 = extraout_v1_03;
        }
      }
      else {
        uVar24 = (*(type_6 *)PTR_GetMagickResourceLimit_003a913c)(7);
        if (((int)((type_10)uVar24 >> 0x20) == 0) && ((type_11)uVar24 < 2)) {
          uVar24 = (*(type_6 *)PTR_GetMagickResourceLimit_003a913c)(7);
          if (((int)((type_10)uVar24 >> 0x20) == 0) && ((type_11)uVar24 < 2)) {
            var_15 = (type_5 *)0x1;
            goto LAB_000ff780;
          }
        }
        uVar24 = (*(type_6 *)PTR_GetMagickResourceLimit_003a913c)(7);
        if (((int)((type_10)uVar24 >> 0x20) == 0) && ((type_11)uVar24 < 2)) {
          (*(type_6 *)PTR_GetMagickResourceLimit_003a913c)(7);
          var_15 = extraout_v1_00;
        }
        else {
          var_15 = (type_5 *)0x2;
        }
      }
LAB_000ff780:
      in_a3 = (type_4 *)0x0;
      local_2c = MagickTrue;
      local_28 = &progress;
      ppIVar7 = &local_3c;
      local_3c = var_1;
      local_38 = var_3;
      local_34 = context;
      local_30 = unaff_s3;
      (*(type_6 *)PTR_GOMP_parallel_003a9198)(var_11 + -0x20c0);
      MVar4 = local_2c;
    }
    var_14 = var_12;
    unaff_s2 = (type_2 **)var_3;
    unaff_s4 = (type_4 *)context;
    if (var_12 == *(type_2 **)puVar2) {
      return MVar4;
    }
  }
  var_13 = PTR___stack_chk_fail_003a9064;
  (*(type_6 *)PTR___stack_chk_fail_003a9064)();
  var_16 = var_13 + 0x2b0f7c;
  puStack_84 = puVar2;
  piVar16 = *(int **)(var_13 + 0x2a98fc);
  var_21 = (type_2 *)*piVar16;
  pIStack_88 = unaff_s0;
  ppIStack_80 = unaff_s2;
  pIStack_7c = unaff_s3;
  puStack_78 = unaff_s4;
  pIStack_74 = var_9;
  pIStack_70 = unaff_s6;
  if (var_14 == (type_2 *)0x0) {
    MVar4 = (**(type_6 **)(var_13 + 0x2a9cd4))
                      (*(int *)(var_13 + 0x2a8fb0) + -0x50fc,*(int *)(var_13 + 0x2a8fb0) + -0x5168
                       ,0x3fa,*(int *)(var_13 + 0x2a8fb0) + -0x5008);
    return MVar4;
  }
  if (var_14->signature != 0xabacadab) {
    MVar4 = (**(type_6 **)(var_13 + 0x2a9cd4))
                      (*(int *)(var_13 + 0x2a8fb4) + 0x3930,*(int *)(var_13 + 0x2a8fb0) + -0x5168,
                       0x3fb,*(int *)(var_13 + 0x2a8fb0) + -0x5008);
    return MVar4;
  }
  var_24 = ppIVar7;
  pIVar11 = var_15;
  pIVar20 = unaff_s6;
  if (var_15 == (type_5 *)0x0) {
LAB_000ff9c8:
    MVar4 = MagickFalse;
    ppIVar7 = unaff_s2;
    in_a3 = unaff_s4;
  }
  else {
    pIVar18 = (type_5 *)ppIVar7[5];
    var_24 = (type_2 **)0x1;
    pIVar11 = (type_5 *)ppIVar7[7];
    pIVar20 = var_14->image;
    var_4 = (**(type_6 **)(var_13 + 0x2a9ef0))(pIVar18);
    unaff_s2 = ppIVar7;
    unaff_s4 = in_a3;
    var_9 = pIVar18;
    if (var_4 == 0) goto LAB_000ff9c8;
    var_17 = (var_14->extent).height;
    var_5 = (var_14->extent).y;
    uStack_ac = 0;
    uStack_b0 = 0;
    var_4 = (**(type_6 **)(var_16 + -0x73fc))(pIVar20);
    if (((var_4 == 4) || (var_4 = (**(type_6 **)(var_16 + -0x73fc))(pIVar20), var_4 == 3)) &&
       ((var_4 = (**(type_6 **)(var_16 + -0x73fc))(pIVar18), var_4 == 4 ||
        (var_4 = (**(type_6 **)(var_16 + -0x73fc))(pIVar18), var_4 == 3)))) {
      var_5 = var_17 - var_5;
      (**(type_6 **)(var_16 + -0x7774))(7);
      var_4 = var_5;
      if (var_5 < 0) {
        var_4 = var_5 + 0x3f;
      }
      var_9 = (type_5 *)(var_4 >> 6);
      if (var_18 < (int)var_9) {
        (**(type_6 **)(var_16 + -0x7774))(7);
        var_8 = var_19 < 2;
      }
      else {
        var_8 = var_5 < 0x80;
      }
      pIVar11 = (type_5 *)0x1;
      if ((bool)(var_8 ^ 1)) {
        (**(type_6 **)(var_16 + -0x7774))(7);
        pIVar18 = var_9;
        if (var_20 < (int)var_9) {
          (**(type_6 **)(var_16 + -0x7774))(7);
          var_9 = extraout_v1_08;
          pIVar18 = extraout_v1_08;
        }
        goto LAB_000ffa7c;
      }
      var_4 = *(int *)(var_16 + -0x7e1c);
    }
    else {
      uVar24 = (**(type_6 **)(var_16 + -0x7774))(7);
      if ((int)((type_10)uVar24 >> 0x20) == 0) {
        var_22 = *(type_6 **)(var_16 + -0x7774);
        if ((type_11)uVar24 < 2) {
          uVar24 = (*var_22)(7);
          if ((int)((type_10)uVar24 >> 0x20) != 0) goto LAB_000ffa64;
          var_22 = *(type_6 **)(var_16 + -0x7774);
          if ((type_11)uVar24 < 2) {
            var_9 = (type_5 *)0x1;
            goto LAB_000ffa7c;
          }
        }
      }
      else {
LAB_000ffa64:
        var_22 = *(type_6 **)(var_16 + -0x7774);
      }
      uVar24 = (*var_22)(7);
      if (((int)((type_10)uVar24 >> 0x20) == 0) && ((type_11)uVar24 < 2)) {
        (**(type_6 **)(var_16 + -0x7774))(7);
        var_9 = extraout_v1_05;
      }
      else {
        var_9 = (type_5 *)0x2;
      }
LAB_000ffa7c:
      var_4 = *(int *)(var_16 + -0x7e1c);
      pIVar11 = var_9;
      var_9 = pIVar18;
    }
    MStack_94 = MagickTrue;
    puStack_90 = &uStack_b0;
    var_24 = &pIStack_a8;
    pIStack_a8 = var_14;
    ppIStack_a4 = ppIVar7;
    pIStack_a0 = var_15;
    puStack_9c = in_a3;
    pIStack_98 = pIVar20;
    (**(type_6 **)(var_16 + -0x7718))(var_4 + -0x1ecc,var_24,pIVar11,0);
    MVar4 = MStack_94;
  }
  if (var_21 == (type_2 *)*piVar16) {
    return MVar4;
  }
  var_22 = *(type_6 **)(var_16 + -0x784c);
  pcVar23 = UpdateImageViewIterator;
  var_23 = var_21;
  (*var_22)();
  piVar17 = *(int **)(var_22 + 0x2a95f8);
  var_28 = *piVar17;
  pIStack_e8 = var_14;
  piStack_e4 = piVar16;
  ppIStack_e0 = ppIVar7;
  pIStack_dc = var_15;
  puStack_d8 = in_a3;
  pIStack_d4 = var_9;
  pIStack_d0 = pIVar20;
  pcStack_cc = pcVar23;
  if (var_23 != (type_2 *)0x0) {
    if (var_23->signature == 0xabacadab) {
      ppIVar7 = var_24;
      var_15 = pIVar11;
      if (var_24 == (type_2 **)0x0) {
LAB_000ffcbc:
        MVar4 = MagickFalse;
      }
      else {
        pIVar20 = var_23->image;
        ppIVar7 = (type_2 **)0x1;
        var_15 = (type_5 *)var_23->exception;
        var_4 = (**(type_6 **)(var_22 + 0x2a9bec))(pIVar20);
        if (var_4 == 0) goto LAB_000ffcbc;
        var_17 = (var_23->extent).height;
        var_5 = (var_23->extent).y;
        uStack_10c = 0;
        uStack_110 = 0;
        var_4 = (**(type_6 **)(var_22 + 0x2a987c))(pIVar20);
        if (((var_4 == 4) || (var_4 = (**(type_6 **)(var_22 + 0x2a987c))(pIVar20), var_4 == 3)) &&
           ((var_4 = (**(type_6 **)(var_22 + 0x2a987c))(pIVar20), var_4 == 4 ||
            (var_4 = (**(type_6 **)(var_22 + 0x2a987c))(pIVar20), var_4 == 3)))) {
          var_5 = var_17 - var_5;
          (**(type_6 **)(var_22 + 0x2a9504))(7);
          var_4 = var_5;
          if (var_5 < 0) {
            var_4 = var_5 + 0x3f;
          }
          pIVar18 = (type_5 *)(var_4 >> 6);
          if (var_25 < (int)pIVar18) {
            (**(type_6 **)(var_22 + 0x2a9504))(7);
            var_8 = var_26 < 2;
          }
          else {
            var_8 = var_5 < 0x80;
          }
          var_15 = (type_5 *)0x1;
          if ((bool)(var_8 ^ 1)) {
            (**(type_6 **)(var_22 + 0x2a9504))(7);
            if (var_27 < (int)pIVar18) {
              (**(type_6 **)(var_22 + 0x2a9504))(7);
              pIVar18 = extraout_v1_13;
            }
            goto LAB_000ffd68;
          }
          var_4 = *(int *)(var_22 + 0x2a8e5c);
        }
        else {
          uVar24 = (**(type_6 **)(var_22 + 0x2a9504))(7);
          if ((int)((type_10)uVar24 >> 0x20) == 0) {
            pcVar23 = *(type_6 **)(var_22 + 0x2a9504);
            if ((type_11)uVar24 < 2) {
              uVar24 = (*pcVar23)(7);
              if ((int)((type_10)uVar24 >> 0x20) != 0) goto LAB_000ffd50;
              pcVar23 = *(type_6 **)(var_22 + 0x2a9504);
              if ((type_11)uVar24 < 2) {
                pIVar18 = (type_5 *)0x1;
                goto LAB_000ffd68;
              }
            }
          }
          else {
LAB_000ffd50:
            pcVar23 = *(type_6 **)(var_22 + 0x2a9504);
          }
          uVar24 = (*pcVar23)(7);
          if (((int)((type_10)uVar24 >> 0x20) == 0) && ((type_11)uVar24 < 2)) {
            (**(type_6 **)(var_22 + 0x2a9504))(7);
            pIVar18 = extraout_v1_10;
          }
          else {
            pIVar18 = (type_5 *)0x2;
          }
LAB_000ffd68:
          var_4 = *(int *)(var_22 + 0x2a8e5c);
          var_15 = pIVar18;
        }
        MStack_f4 = MagickTrue;
        puStack_f0 = &uStack_110;
        ppIVar7 = &pIStack_104;
        pIStack_104 = var_23;
        ppIStack_100 = var_24;
        pIStack_fc = pIVar11;
        pIStack_f8 = pIVar20;
        (**(type_6 **)(var_22 + 0x2a9560))(var_4 + -0x1ca0,ppIVar7,var_15,0);
        MVar4 = MStack_f4;
      }
      var_4 = var_28;
      if (var_28 == *piVar17) {
        return MVar4;
      }
      goto LAB_000fff14;
    }
    (**(type_6 **)(var_22 + 0x2a99d0))
              (*(int *)(var_22 + 0x2a8cb0) + 0x3930,*(int *)(var_22 + 0x2a8cac) + -0x5168,0x481,
               *(int *)(var_22 + 0x2a8cac) + -0x5020);
  }
  var_15 = (type_5 *)0x480;
  ppIVar7 = (type_2 **)(*(int *)(var_22 + 0x2a8cac) + -0x5168);
  var_4 = *(int *)(var_22 + 0x2a8cac) + -0x50fc;
  (**(type_6 **)(var_22 + 0x2a99d0))();
LAB_000fff14:
  var_22 = *(type_6 **)(var_22 + 0x2a942c);
  (*var_22)();
  if (*(int *)(var_4 + 700) == 0) {
    (**(type_6 **)(var_22 + 0x2a8df4))();
  }
  var_14 = ppIVar7[1];
  var_5 = 0;
  if (0 < (int)var_14) {
    do {
      var_29 = (**(type_6 **)(var_22 + 0x2a8e18))
                        (var_4,ppIVar7[2],(int)&ppIVar7[3]->description + var_5,*ppIVar7,1,var_15)
      ;
      if (var_29 == 0) {
        return MagickFalse;
      }
      var_23 = *ppIVar7;
      var_14 = (type_2 *)0x0;
      if (0 < (int)var_23) {
        var_30 = *(int *)(var_4 + 0x2d0);
        var_32 = *(int *)(var_4 + 0x2c0);
        var_31 = *(int *)(var_30 + 0x34);
        do {
          var_14 = (type_2 *)((int)&var_14->description + 1);
          if (var_31 != 0) {
            *(type_8 *)(var_29 + *(int *)(var_30 + 0x38) * 4) = 0;
          }
          var_29 = var_29 + var_32 * 4;
        } while (var_14 != var_23);
      }
      var_29 = (**(type_6 **)(var_22 + 0x2a92c4))(var_4,var_15);
      if (var_29 == 0) {
        return MagickFalse;
      }
      var_5 = var_5 + 1;
      var_14 = (type_2 *)(type_11)(var_5 < (int)ppIVar7[1]);
    } while (var_14 != (type_2 *)0x0);
  }
  return (type_1)var_14;
}


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

undefined *
MASKED(undefined *param_1,undefined **param_2,undefined *param_3,undefined *param_4)

{
  bool bVar1;
  int iVar2;
  undefined *puVar3;
  int iVar4;
  int extraout_v1;
  undefined *extraout_v1_00;
  int extraout_v1_01;
  int extraout_v1_02;
  undefined *extraout_v1_03;
  int extraout_v1_04;
  undefined *extraout_v1_05;
  int extraout_v1_06;
  int extraout_v1_07;
  undefined *extraout_v1_08;
  int extraout_v1_09;
  undefined *extraout_v1_10;
  int extraout_v1_11;
  int extraout_v1_12;
  undefined *extraout_v1_13;
  undefined **ppuVar5;
  undefined **ppuVar6;
  int iVar7;
  undefined *puVar8;
  undefined *puVar9;
  undefined *puVar10;
  int iVar11;
  int iVar12;
  undefined *unaff_s0;
  int iVar13;
  int *piVar14;
  int *piVar15;
  undefined **unaff_s2;
  undefined4 unaff_s3;
  undefined4 uVar16;
  undefined *unaff_s4;
  undefined *unaff_s5;
  undefined *puVar17;
  undefined *unaff_s6;
  undefined *puVar18;
  code *pcVar19;
  code *pcVar20;
  undefined8 uVar21;
  undefined4 uStack_110;
  undefined4 uStack_10c;
  undefined *puStack_104;
  undefined **ppuStack_100;
  undefined *puStack_fc;
  undefined4 uStack_f8;
  undefined *puStack_f4;
  undefined4 *puStack_f0;
  int iStack_ec;
  undefined *puStack_e8;
  int *piStack_e4;
  undefined **ppuStack_e0;
  undefined *puStack_dc;
  undefined *puStack_d8;
  undefined *puStack_d4;
  undefined *puStack_d0;
  code *pcStack_cc;
  undefined *puStack_b8;
  undefined4 uStack_b0;
  undefined4 uStack_ac;
  undefined *puStack_a8;
  undefined **ppuStack_a4;
  undefined *puStack_a0;
  undefined *puStack_9c;
  undefined *puStack_98;
  undefined *puStack_94;
  undefined4 *puStack_90;
  undefined *puStack_8c;
  undefined *puStack_88;
  undefined *puStack_84;
  undefined **ppuStack_80;
  undefined4 uStack_7c;
  undefined *puStack_78;
  undefined *puStack_74;
  undefined *puStack_70;
  undefined4 local_48;
  undefined4 local_44;
  undefined *local_3c;
  undefined **local_38;
  undefined *local_34;
  undefined4 local_30;
  undefined *local_2c;
  undefined4 *local_28;
  undefined *local_24;
  
  puVar9 = PTR___stack_chk_guard_003a9230;
  local_24 = *(undefined **)PTR___stack_chk_guard_003a9230;
  if (param_1 == (undefined *)0x0) {
LAB_000ff904:
    puVar8 = (undefined *)0x37a;
    param_4 = PTR_s_t_to_left_003a88e4 + -0x4fec;
    ppuVar5 = (undefined **)(PTR_s_t_to_left_003a88e4 + -0x5168);
    puVar10 = PTR_s_t_to_left_003a88e4 + -0x5080;
    (*(code *)PTR___assert_fail_003a9608)();
  }
  else {
    unaff_s0 = param_1;
    if (*(int *)(param_1 + 0x24) != -0x54535255) {
      (*(code *)PTR___assert_fail_003a9608)
                (PTR_s_t_to_left_003a88e4 + -0x505c,PTR_s_t_to_left_003a88e4 + -0x5168,0x37b,
                 PTR_s_t_to_left_003a88e4 + -0x4fec);
      goto LAB_000ff904;
    }
    ppuVar5 = param_2;
    puVar8 = param_3;
    if (param_2 == (undefined **)0x0) {
LAB_000ff6d0:
      puVar3 = (undefined *)0x0;
      param_3 = unaff_s4;
    }
    else {
      unaff_s3 = *(undefined4 *)(param_1 + 0x14);
      ppuVar5 = (undefined **)0x1;
      puVar8 = *(undefined **)(param_1 + 0x1c);
      iVar2 = (*(code *)PTR_SetImageStorageClass_003a9824)(unaff_s3);
      unaff_s4 = param_3;
      if (iVar2 == 0) goto LAB_000ff6d0;
      unaff_s5 = *(undefined **)(param_1 + 8);
      unaff_s6 = *(undefined **)(param_1 + 0x10);
      local_44 = 0;
      local_48 = 0;
      iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3);
      if (((iVar2 == 4) ||
          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)) &&
         ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 4 ||
          (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(unaff_s3), iVar2 == 3)))) {
        iVar13 = (int)unaff_s5 - (int)unaff_s6;
        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
        iVar2 = iVar13;
        if (iVar13 < 0) {
          iVar2 = iVar13 + 0x3f;
        }
        unaff_s6 = (undefined *)(iVar2 >> 6);
        if (extraout_v1 < (int)unaff_s6) {
          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
          bVar1 = extraout_v1_02 < 2;
        }
        else {
          bVar1 = iVar13 < 0x80;
        }
        unaff_s5 = (undefined *)(bVar1 ^ 1);
        puVar8 = (undefined *)0x1;
        if ((unaff_s5 != (undefined *)0x0) &&
           ((*(code *)PTR_GetMagickResourceLimit_003a913c)(7), puVar8 = unaff_s6,
           extraout_v1_01 < (int)unaff_s6)) {
          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
          puVar8 = extraout_v1_03;
          unaff_s6 = extraout_v1_03;
        }
      }
      else {
        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {
          uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {
            puVar8 = (undefined *)0x1;
            goto LAB_000ff780;
          }
        }
        uVar21 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
        if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {
          (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
          puVar8 = extraout_v1_00;
        }
        else {
          puVar8 = (undefined *)0x2;
        }
      }
LAB_000ff780:
      param_4 = (undefined *)0x0;
      local_2c = (undefined *)0x1;
      local_28 = &local_48;
      ppuVar5 = &local_3c;
      local_3c = param_1;
      local_38 = param_2;
      local_34 = param_3;
      local_30 = unaff_s3;
      (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a94 + -0x20c0);
      puVar3 = local_2c;
    }
    puVar10 = local_24;
    unaff_s2 = param_2;
    unaff_s4 = param_3;
    if (local_24 == *(undefined **)puVar9) {
      return puVar3;
    }
  }
  puVar3 = PTR___stack_chk_fail_003a9064;
  (*(code *)PTR___stack_chk_fail_003a9064)();
  puStack_b8 = puVar3 + 0x2b0f7c;
  puStack_84 = puVar9;
  piVar14 = *(int **)(puVar3 + 0x2a98fc);
  puStack_8c = (undefined *)*piVar14;
  puStack_88 = unaff_s0;
  ppuStack_80 = unaff_s2;
  uStack_7c = unaff_s3;
  puStack_78 = unaff_s4;
  puStack_74 = unaff_s5;
  puStack_70 = unaff_s6;
  if (puVar10 == (undefined *)0x0) {
    puVar9 = (undefined *)
             (**(code **)(puVar3 + 0x2a9cd4))
                       (*(int *)(puVar3 + 0x2a8fb0) + -0x50fc,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,
                        0x3fa,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);
    return puVar9;
  }
  if (*(int *)(puVar10 + 0x24) != -0x54535255) {
    puVar9 = (undefined *)
             (**(code **)(puVar3 + 0x2a9cd4))
                       (*(int *)(puVar3 + 0x2a8fb4) + 0x3930,*(int *)(puVar3 + 0x2a8fb0) + -0x5168,
                        0x3fb,*(int *)(puVar3 + 0x2a8fb0) + -0x5008);
    return puVar9;
  }
  ppuVar6 = ppuVar5;
  puVar9 = puVar8;
  puVar18 = unaff_s6;
  if (puVar8 == (undefined *)0x0) {
LAB_000ff9c8:
    puVar3 = (undefined *)0x0;
    ppuVar5 = unaff_s2;
    param_4 = unaff_s4;
  }
  else {
    puVar17 = ppuVar5[5];
    ppuVar6 = (undefined **)0x1;
    puVar9 = ppuVar5[7];
    puVar18 = *(undefined **)(puVar10 + 0x14);
    iVar2 = (**(code **)(puVar3 + 0x2a9ef0))(puVar17);
    unaff_s2 = ppuVar5;
    unaff_s4 = param_4;
    unaff_s5 = puVar17;
    if (iVar2 == 0) goto LAB_000ff9c8;
    iVar13 = *(int *)(puVar10 + 8);
    iVar4 = *(int *)(puVar10 + 0x10);
    uStack_ac = 0;
    uStack_b0 = 0;
    iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18);
    if (((iVar2 == 4) || (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar18), iVar2 == 3)) &&
       ((iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 4 ||
        (iVar2 = (**(code **)(puStack_b8 + -0x73fc))(puVar17), iVar2 == 3)))) {
      iVar13 = iVar13 - iVar4;
      (**(code **)(puStack_b8 + -0x7774))(7);
      iVar2 = iVar13;
      if (iVar13 < 0) {
        iVar2 = iVar13 + 0x3f;
      }
      unaff_s5 = (undefined *)(iVar2 >> 6);
      if (extraout_v1_04 < (int)unaff_s5) {
        (**(code **)(puStack_b8 + -0x7774))(7);
        bVar1 = extraout_v1_07 < 2;
      }
      else {
        bVar1 = iVar13 < 0x80;
      }
      puVar9 = (undefined *)0x1;
      if ((bool)(bVar1 ^ 1)) {
        (**(code **)(puStack_b8 + -0x7774))(7);
        puVar17 = unaff_s5;
        if (extraout_v1_06 < (int)unaff_s5) {
          (**(code **)(puStack_b8 + -0x7774))(7);
          unaff_s5 = extraout_v1_08;
          puVar17 = extraout_v1_08;
        }
        goto LAB_000ffa7c;
      }
      iVar2 = *(int *)(puStack_b8 + -0x7e1c);
    }
    else {
      uVar21 = (**(code **)(puStack_b8 + -0x7774))(7);
      if ((int)((ulonglong)uVar21 >> 0x20) == 0) {
        pcVar19 = *(code **)(puStack_b8 + -0x7774);
        if ((uint)uVar21 < 2) {
          uVar21 = (*pcVar19)(7);
          if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffa64;
          pcVar19 = *(code **)(puStack_b8 + -0x7774);
          if ((uint)uVar21 < 2) {
            unaff_s5 = (undefined *)0x1;
            goto LAB_000ffa7c;
          }
        }
      }
      else {
LAB_000ffa64:
        pcVar19 = *(code **)(puStack_b8 + -0x7774);
      }
      uVar21 = (*pcVar19)(7);
      if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {
        (**(code **)(puStack_b8 + -0x7774))(7);
        unaff_s5 = extraout_v1_05;
      }
      else {
        unaff_s5 = (undefined *)0x2;
      }
LAB_000ffa7c:
      iVar2 = *(int *)(puStack_b8 + -0x7e1c);
      puVar9 = unaff_s5;
      unaff_s5 = puVar17;
    }
    puStack_94 = (undefined *)0x1;
    puStack_90 = &uStack_b0;
    ppuVar6 = &puStack_a8;
    puStack_a8 = puVar10;
    ppuStack_a4 = ppuVar5;
    puStack_a0 = puVar8;
    puStack_9c = param_4;
    puStack_98 = puVar18;
    (**(code **)(puStack_b8 + -0x7718))(iVar2 + -0x1ecc,ppuVar6,puVar9,0);
    puVar3 = puStack_94;
  }
  if (puStack_8c == (undefined *)*piVar14) {
    return puVar3;
  }
  pcVar19 = *(code **)(puStack_b8 + -0x784c);
  pcVar20 = UpdateImageViewIterator;
  puVar3 = puStack_8c;
  (*pcVar19)();
  piVar15 = *(int **)(pcVar19 + 0x2a95f8);
  iStack_ec = *piVar15;
  puStack_e8 = puVar10;
  piStack_e4 = piVar14;
  ppuStack_e0 = ppuVar5;
  puStack_dc = puVar8;
  puStack_d8 = param_4;
  puStack_d4 = unaff_s5;
  puStack_d0 = puVar18;
  pcStack_cc = pcVar20;
  if (puVar3 != (undefined *)0x0) {
    if (*(int *)(puVar3 + 0x24) == -0x54535255) {
      ppuVar5 = ppuVar6;
      puVar10 = puVar9;
      if (ppuVar6 == (undefined **)0x0) {
LAB_000ffcbc:
        puVar9 = (undefined *)0x0;
      }
      else {
        uVar16 = *(undefined4 *)(puVar3 + 0x14);
        ppuVar5 = (undefined **)0x1;
        puVar10 = *(undefined **)(puVar3 + 0x1c);
        iVar2 = (**(code **)(pcVar19 + 0x2a9bec))(uVar16);
        if (iVar2 == 0) goto LAB_000ffcbc;
        iVar13 = *(int *)(puVar3 + 8);
        iVar4 = *(int *)(puVar3 + 0x10);
        uStack_10c = 0;
        uStack_110 = 0;
        iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16);
        if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)) &&
           ((iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 4 ||
            (iVar2 = (**(code **)(pcVar19 + 0x2a987c))(uVar16), iVar2 == 3)))) {
          iVar13 = iVar13 - iVar4;
          (**(code **)(pcVar19 + 0x2a9504))(7);
          iVar2 = iVar13;
          if (iVar13 < 0) {
            iVar2 = iVar13 + 0x3f;
          }
          puVar8 = (undefined *)(iVar2 >> 6);
          if (extraout_v1_09 < (int)puVar8) {
            (**(code **)(pcVar19 + 0x2a9504))(7);
            bVar1 = extraout_v1_12 < 2;
          }
          else {
            bVar1 = iVar13 < 0x80;
          }
          puVar10 = (undefined *)0x1;
          if ((bool)(bVar1 ^ 1)) {
            (**(code **)(pcVar19 + 0x2a9504))(7);
            if (extraout_v1_11 < (int)puVar8) {
              (**(code **)(pcVar19 + 0x2a9504))(7);
              puVar8 = extraout_v1_13;
            }
            goto LAB_000ffd68;
          }
          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);
        }
        else {
          uVar21 = (**(code **)(pcVar19 + 0x2a9504))(7);
          if ((int)((ulonglong)uVar21 >> 0x20) == 0) {
            pcVar20 = *(code **)(pcVar19 + 0x2a9504);
            if ((uint)uVar21 < 2) {
              uVar21 = (*pcVar20)(7);
              if ((int)((ulonglong)uVar21 >> 0x20) != 0) goto LAB_000ffd50;
              pcVar20 = *(code **)(pcVar19 + 0x2a9504);
              if ((uint)uVar21 < 2) {
                puVar8 = (undefined *)0x1;
                goto LAB_000ffd68;
              }
            }
          }
          else {
LAB_000ffd50:
            pcVar20 = *(code **)(pcVar19 + 0x2a9504);
          }
          uVar21 = (*pcVar20)(7);
          if (((int)((ulonglong)uVar21 >> 0x20) == 0) && ((uint)uVar21 < 2)) {
            (**(code **)(pcVar19 + 0x2a9504))(7);
            puVar8 = extraout_v1_10;
          }
          else {
            puVar8 = (undefined *)0x2;
          }
LAB_000ffd68:
          iVar2 = *(int *)(pcVar19 + 0x2a8e5c);
          puVar10 = puVar8;
        }
        puStack_f4 = (undefined *)0x1;
        puStack_f0 = &uStack_110;
        ppuVar5 = &puStack_104;
        puStack_104 = puVar3;
        ppuStack_100 = ppuVar6;
        puStack_fc = puVar9;
        uStack_f8 = uVar16;
        (**(code **)(pcVar19 + 0x2a9560))(iVar2 + -0x1ca0,ppuVar5,puVar10,0);
        puVar9 = puStack_f4;
      }
      iVar2 = iStack_ec;
      if (iStack_ec == *piVar15) {
        return puVar9;
      }
      goto LAB_000fff14;
    }
    (**(code **)(pcVar19 + 0x2a99d0))
              (*(int *)(pcVar19 + 0x2a8cb0) + 0x3930,*(int *)(pcVar19 + 0x2a8cac) + -0x5168,0x481,
               *(int *)(pcVar19 + 0x2a8cac) + -0x5020);
  }
  puVar10 = (undefined *)0x480;
  ppuVar5 = (undefined **)(*(int *)(pcVar19 + 0x2a8cac) + -0x5168);
  iVar2 = *(int *)(pcVar19 + 0x2a8cac) + -0x50fc;
  (**(code **)(pcVar19 + 0x2a99d0))();
LAB_000fff14:
  pcVar19 = *(code **)(pcVar19 + 0x2a942c);
  (*pcVar19)();
  if (*(int *)(iVar2 + 700) == 0) {
    (**(code **)(pcVar19 + 0x2a8df4))();
  }
  puVar9 = ppuVar5[1];
  iVar13 = 0;
  if (0 < (int)puVar9) {
    do {
      iVar4 = (**(code **)(pcVar19 + 0x2a8e18))
                        (iVar2,ppuVar5[2],ppuVar5[3] + iVar13,*ppuVar5,1,puVar10);
      if (iVar4 == 0) {
        return (undefined *)0x0;
      }
      puVar8 = *ppuVar5;
      puVar9 = (undefined *)0x0;
      if (0 < (int)puVar8) {
        iVar12 = *(int *)(iVar2 + 0x2d0);
        iVar7 = *(int *)(iVar2 + 0x2c0);
        iVar11 = *(int *)(iVar12 + 0x34);
        do {
          puVar9 = puVar9 + 1;
          if (iVar11 != 0) {
            *(undefined4 *)(iVar4 + *(int *)(iVar12 + 0x38) * 4) = 0;
          }
          iVar4 = iVar4 + iVar7 * 4;
        } while (puVar9 != puVar8);
      }
      iVar4 = (**(code **)(pcVar19 + 0x2a92c4))(iVar2,puVar10);
      if (iVar4 == 0) {
        return (undefined *)0x0;
      }
      iVar13 = iVar13 + 1;
      puVar9 = (undefined *)(uint)(iVar13 < (int)ppuVar5[1]);
    } while (puVar9 != (undefined *)0x0);
  }
  return puVar9;
}

