
/* 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
GetStructuralSimilarityDistortion
          (Image *image,Image *reconstruct_image,double *distortion,ExceptionInfo *exception)

{
  bool bVar1;
  undefined *puVar2;
  Image *image_00;
  int iVar3;
  PixelInfo *pPVar4;
  size_t sVar5;
  size_t sVar7;
  MagickBooleanType MVar8;
  ExceptionInfo *pEVar9;
  int extraout_v1;
  double *extraout_v1_00;
  int extraout_v1_01;
  int extraout_v1_02;
  ExceptionInfo *pEVar10;
  Image *reconstruct_image_00;
  ClassType CVar11;
  double *pdVar12;
  ClassType CVar13;
  double *pdVar14;
  ExceptionInfo *exception_00;
  undefined *puVar16;
  double dVar17;
  double dVar18;
  undefined8 uVar19;
  double local_1078;
  double local_1070;
  Image *local_1068;
  Image *local_1064;
  double *local_1060;
  ExceptionInfo *local_105c;
  size_t local_1058;
  size_t local_1054;
  PixelInfo *local_1050;
  uint local_104c;
  ClassType local_1048;
  MagickBooleanType local_1044;
  char geometry [4096];
  uint uVar6;
  double *pdVar15;
  
  puVar16 = PTR___stack_chk_guard_003a9230;
  image_00 = *(Image **)PTR___stack_chk_guard_003a9230;
  iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)
                    (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834);
  if (iVar3 == 0) {
    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)
                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);
  }
  else {
    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);
    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)
                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);
  }
  if (iVar3 != 0) {
    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);
  }
  (*(code *)PTR_FormatLocaleString_003a8d7c)
            (geometry,0x1000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x380c);
  pPVar4 = (PixelInfo *)(*(code *)PTR_AcquireKernelInfo_003a8fe4)(geometry,exception);
  if (pPVar4 == (PixelInfo *)0x0) {
    exception_00 = (ExceptionInfo *)0x581;
    pdVar12 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc);
    reconstruct_image_00 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4);
    MVar8 = MagickFalse;
    (*(code *)PTR_ThrowMagickException_003a8f20)(exception);
    goto LAB_00071930;
  }
  iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)
                    (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc);
  if (iVar3 == 0) {
    dVar17 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538);
    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)
                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);
    if (iVar3 == 0) goto LAB_0007199c;
LAB_000716d4:
    dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);
    dVar18 = dVar18 * dVar18;
  }
  else {
    dVar17 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);
    dVar17 = dVar17 * dVar17;
    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)
                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);
    if (iVar3 != 0) goto LAB_000716d4;
LAB_0007199c:
    dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);
  }
  CVar11 = image->rows;
  if (image->rows <= reconstruct_image->rows) {
    CVar11 = reconstruct_image->rows;
  }
  uVar6 = image->columns;
  if (image->columns <= reconstruct_image->columns) {
    uVar6 = reconstruct_image->columns;
  }
  sVar5 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(image,exception);
  sVar7 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(reconstruct_image,exception);
  iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image);
  if (((iVar3 == 4) || (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar3 == 3))
     && ((iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(reconstruct_image), iVar3 == 4 ||
         (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(reconstruct_image), iVar3 == 3))))
  {
    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
    CVar13 = CVar11;
    if ((int)CVar11 < 0) {
      CVar13 = CVar11 + 0x3f;
    }
    pdVar12 = (double *)((int)CVar13 >> 6);
    if (extraout_v1 < (int)pdVar12) {
      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      bVar1 = extraout_v1_01 < 2;
    }
    else {
      bVar1 = (int)CVar11 < 0x80;
    }
    if ((bool)(bVar1 ^ 1)) {
      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;
    }
    else {
      pdVar12 = (double *)0x1;
    }
  }
  else {
    uVar19 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
    if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {
      uVar19 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {
        pdVar12 = (double *)0x1;
        goto LAB_000717a0;
      }
    }
    uVar19 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
    if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {
LAB_00071af4:
      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      pdVar12 = extraout_v1_00;
    }
    else {
      pdVar12 = (double *)0x2;
    }
  }
LAB_000717a0:
  exception_00 = (ExceptionInfo *)0x0;
  reconstruct_image_00 = (Image *)&local_1078;
  local_1044 = MagickTrue;
  local_1078 = dVar17;
  local_1070 = dVar18;
  local_1068 = image;
  local_1064 = reconstruct_image;
  local_1060 = distortion;
  local_105c = exception;
  local_1058 = sVar5;
  local_1054 = sVar7;
  local_1050 = pPVar4;
  local_104c = uVar6;
  local_1048 = CVar11;
  (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8938 + 0x3244);
  MVar8 = local_1044;
  (*(code *)PTR_DestroyCacheView_003a8ef4)(sVar5);
  (*(code *)PTR_DestroyCacheView_003a8ef4)(sVar7);
  sVar5 = image->number_channels;
  if ((int)sVar5 < 1) {
    dVar17 = (double)(int)CVar11;
    if ((int)CVar11 < 0) {
      dVar17 = dVar17 + *(double *)(PTR_LAB_003a88e0 + 0x1418);
    }
    dVar18 = (double)(int)uVar6;
    if ((int)uVar6 < 0) {
      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);
    }
    dVar17 = distortion[0x40] / (dVar17 * dVar18);
LAB_00071a8c:
    dVar18 = *(double *)(PTR_LAB_003a88e0 + 0x1438);
  }
  else {
    exception_00 = (ExceptionInfo *)image->channel_map;
    dVar17 = (double)(int)CVar11;
    if ((int)CVar11 < 0) {
      dVar17 = dVar17 + *(double *)(PTR_LAB_003a88e0 + 0x1418);
    }
    dVar18 = (double)(int)uVar6;
    if ((int)uVar6 < 0) {
      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);
    }
    pEVar9 = exception_00;
    pdVar12 = distortion;
    do {
      if (((&exception_00->error_number)[pEVar9->severity * 3] != UndefinedPixelTrait) &&
         (((&exception_00->error_number)[pEVar9->severity * 3] & UpdatePixelTrait) !=
          UndefinedPixelTrait)) {
        *pdVar12 = *pdVar12 / (dVar17 * dVar18);
      }
      pEVar9 = (ExceptionInfo *)&pEVar9->description;
      pdVar12 = pdVar12 + 1;
    } while ((ExceptionInfo *)(&exception_00->severity + sVar5 * 3) != pEVar9);
    pdVar12 = (double *)0x0;
    dVar17 = distortion[0x40] / (dVar17 * dVar18);
    pEVar10 = exception_00;
    do {
      reconstruct_image_00 = (Image *)pEVar10->severity;
      if (((&exception_00->error_number)[(int)reconstruct_image_00 * 3] & UpdatePixelTrait) !=
          UndefinedPixelTrait) {
        pdVar12 = (double *)((int)pdVar12 + 1);
      }
      pEVar10 = (ExceptionInfo *)&pEVar10->description;
    } while (pEVar10 != pEVar9);
    if (pdVar12 == (double *)0x0) goto LAB_00071a8c;
    dVar18 = (double)(int)pdVar12;
    if ((int)pdVar12 < 0) {
      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);
    }
  }
  puVar2 = PTR_DestroyKernelInfo_003a96a8;
  distortion[0x40] = dVar17 / dVar18;
  (*(code *)puVar2)(pPVar4);
LAB_00071930:
  if (image_00 == *(Image **)puVar16) {
    return MVar8;
  }
  puVar16 = PTR___stack_chk_fail_003a9064;
  (*(code *)PTR___stack_chk_fail_003a9064)();
  MVar8 = GetStructuralSimilarityDistortion(image_00,reconstruct_image_00,pdVar12,exception_00);
  dVar18 = *(double *)(*(int *)(puVar16 + 0x336d50) + 0x1438);
  dVar17 = *(double *)(*(int *)(puVar16 + 0x336d50) + 0x1400);
  pdVar14 = pdVar12;
  do {
    pdVar15 = pdVar14 + 1;
    *pdVar14 = (dVar18 - *pdVar14) * dVar17;
    pdVar14 = pdVar15;
  } while (pdVar15 != pdVar12 + 0x41);
  return MVar8;
}



undefined4 FUN_0007157c(int param_1,int param_2,double *param_3,undefined4 param_4)

{
  bool bVar1;
  undefined *puVar2;
  int iVar3;
  int iVar4;
  undefined4 uVar5;
  undefined4 uVar7;
  undefined4 uVar8;
  int *piVar9;
  int extraout_v1;
  double *extraout_v1_00;
  int extraout_v1_01;
  int extraout_v1_02;
  int *piVar10;
  uint uVar11;
  double *pdVar12;
  uint uVar13;
  double *pdVar14;
  int *piVar16;
  undefined *puVar17;
  double dVar18;
  double dVar19;
  undefined8 uVar20;
  double local_1078;
  double local_1070;
  int local_1068;
  int local_1064;
  double *local_1060;
  undefined4 local_105c;
  undefined4 local_1058;
  undefined4 local_1054;
  int local_1050;
  uint local_104c;
  uint local_1048;
  undefined4 local_1044;
  undefined1 auStack_103c [4096];
  int local_3c;
  uint uVar6;
  double *pdVar15;
  
  puVar17 = PTR___stack_chk_guard_003a9230;
  local_3c = *(int *)PTR___stack_chk_guard_003a9230;
  iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)
                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834);
  if (iVar3 == 0) {
    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)
                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);
  }
  else {
    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);
    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)
                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);
  }
  if (iVar3 != 0) {
    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);
  }
  (*(code *)PTR_FormatLocaleString_003a8d7c)
            (auStack_103c,0x1000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x380c);
  iVar3 = (*(code *)PTR_AcquireKernelInfo_003a8fe4)(auStack_103c,param_4);
  if (iVar3 == 0) {
    pdVar12 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc);
    uVar8 = 0;
    (*(code *)PTR_ThrowMagickException_003a8f20)
              (param_4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4,pdVar12,0x581,400,
               PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x340);
    goto LAB_00071930;
  }
  iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)
                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc);
  if (iVar4 == 0) {
    dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538);
    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)
                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);
    if (iVar4 == 0) goto LAB_0007199c;
LAB_000716d4:
    dVar19 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);
    dVar19 = dVar19 * dVar19;
  }
  else {
    dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);
    dVar18 = dVar18 * dVar18;
    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)
                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);
    if (iVar4 != 0) goto LAB_000716d4;
LAB_0007199c:
    dVar19 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);
  }
  uVar11 = *(uint *)(param_1 + 0x1c);
  if (*(uint *)(param_1 + 0x1c) <= *(uint *)(param_2 + 0x1c)) {
    uVar11 = *(uint *)(param_2 + 0x1c);
  }
  uVar6 = *(uint *)(param_1 + 0x18);
  if (*(uint *)(param_1 + 0x18) <= *(uint *)(param_2 + 0x18)) {
    uVar6 = *(uint *)(param_2 + 0x18);
  }
  uVar5 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_1,param_4);
  uVar7 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_4);
  iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);
  if (((iVar4 == 4) || (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar4 == 3)
      ) && ((iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 4 ||
            (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3)))) {
    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
    uVar13 = uVar11;
    if ((int)uVar11 < 0) {
      uVar13 = uVar11 + 0x3f;
    }
    pdVar12 = (double *)((int)uVar13 >> 6);
    if (extraout_v1 < (int)pdVar12) {
      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      bVar1 = extraout_v1_01 < 2;
    }
    else {
      bVar1 = (int)uVar11 < 0x80;
    }
    if ((bool)(bVar1 ^ 1)) {
      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;
    }
    else {
      pdVar12 = (double *)0x1;
    }
  }
  else {
    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {
      uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {
        pdVar12 = (double *)0x1;
        goto LAB_000717a0;
      }
    }
    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {
LAB_00071af4:
      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      pdVar12 = extraout_v1_00;
    }
    else {
      pdVar12 = (double *)0x2;
    }
  }
LAB_000717a0:
  local_1044 = 1;
  local_1078 = dVar18;
  local_1070 = dVar19;
  local_1068 = param_1;
  local_1064 = param_2;
  local_1060 = param_3;
  local_105c = param_4;
  local_1058 = uVar5;
  local_1054 = uVar7;
  local_1050 = iVar3;
  local_104c = uVar6;
  local_1048 = uVar11;
  (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8938 + 0x3244,&local_1078,pdVar12,0);
  uVar8 = local_1044;
  (*(code *)PTR_DestroyCacheView_003a8ef4)(uVar5);
  (*(code *)PTR_DestroyCacheView_003a8ef4)(uVar7);
  iVar4 = *(int *)(param_1 + 0x2c0);
  if (iVar4 < 1) {
    dVar18 = (double)(int)uVar11;
    if ((int)uVar11 < 0) {
      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);
    }
    dVar19 = (double)(int)uVar6;
    if ((int)uVar6 < 0) {
      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);
    }
    dVar18 = param_3[0x40] / (dVar18 * dVar19);
LAB_00071a8c:
    dVar19 = *(double *)(PTR_LAB_003a88e0 + 0x1438);
  }
  else {
    piVar16 = *(int **)(param_1 + 0x2d0);
    dVar18 = (double)(int)uVar11;
    if ((int)uVar11 < 0) {
      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);
    }
    dVar19 = (double)(int)uVar6;
    if ((int)uVar6 < 0) {
      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);
    }
    piVar9 = piVar16;
    pdVar12 = param_3;
    do {
      if ((piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0)) {
        *pdVar12 = *pdVar12 / (dVar18 * dVar19);
      }
      piVar9 = piVar9 + 3;
      pdVar12 = pdVar12 + 1;
    } while (piVar16 + iVar4 * 3 != piVar9);
    pdVar12 = (double *)0x0;
    dVar18 = param_3[0x40] / (dVar18 * dVar19);
    piVar10 = piVar16;
    do {
      if ((piVar16[*piVar10 * 3 + 1] & 2U) != 0) {
        pdVar12 = (double *)((int)pdVar12 + 1);
      }
      piVar10 = piVar10 + 3;
    } while (piVar10 != piVar9);
    if (pdVar12 == (double *)0x0) goto LAB_00071a8c;
    dVar19 = (double)(int)pdVar12;
    if ((int)pdVar12 < 0) {
      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);
    }
  }
  puVar2 = PTR_DestroyKernelInfo_003a96a8;
  param_3[0x40] = dVar18 / dVar19;
  (*(code *)puVar2)(iVar3);
LAB_00071930:
  if (local_3c == *(int *)puVar17) {
    return uVar8;
  }
  puVar17 = PTR___stack_chk_fail_003a9064;
  (*(code *)PTR___stack_chk_fail_003a9064)();
  uVar8 = FUN_0007157c();
  dVar19 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1438);
  dVar18 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1400);
  pdVar14 = pdVar12;
  do {
    pdVar15 = pdVar14 + 1;
    *pdVar14 = (dVar19 - *pdVar14) * dVar18;
    pdVar14 = pdVar15;
  } while (pdVar15 != pdVar12 + 0x41);
  return uVar8;
}


lui gp,0x34
addiu gp,gp,-0xccc
addu gp,gp,t9
addiu sp,sp,-0x10a8
lw t9,-0x73f0(gp)
sdc1 f22,0x10a0(sp)
sw s6,0x1088(sp)
sw s2,0x1078(sp)
or s2,a1,zero
lw s6,-0x7680(gp)
lw a1,-0x7fc8(gp)
sdc1 f20,0x1098(sp)
sw gp,0x20(sp)
sw s4,0x1080(sp)
addiu a1,a1,-0x3834
sw s3,0x107c(sp)
or s4,a2,zero
sw s0,0x1070(sp)
or s3,a3,zero
sw ra,0x1094(sp)
or s0,a0,zero
sw s8,0x1090(sp)
sw s7,0x108c(sp)
sw s5,0x1084(sp)
sw s1,0x1074(sp)
lw v0,0x0(s6)
sw v0,0x106c(sp)
jalr t9
_nop
beq v0,zero,0x000719a8
_lw gp,0x20(sp)
lw t9,-0x7148(gp)
or a1,zero,zero
jalr t9
_or a0,v0,zero
or a0,s0,zero
lw gp,0x20(sp)
mov.D f20,f0
lw a1,-0x7fc8(gp)
lw t9,-0x73f0(gp)
jalr t9
_addiu a1,a1,-0x3820
beq v0,zero,0x000719cc
_lw gp,0x20(sp)
lw t9,-0x7148(gp)
or a1,zero,zero
jalr t9
_or a0,v0,zero
lw gp,0x20(sp)
lw a2,-0x7fc8(gp)
addiu s1,sp,0x6c
lw t9,-0x7b34(gp)
li a1,0x1000
sdc1 f0,0x18(sp)
or a0,s1,zero
addiu a2,a2,-0x380c
jalr t9
_sdc1 f20,0x10(sp)
or a1,s3,zero
lw gp,0x20(sp)
lw t9,-0x78cc(gp)
jalr t9
_or a0,s1,zero
lw gp,0x20(sp)
beq v0,zero,0x00071a94
_or s5,v0,zero
lw a1,-0x7fc8(gp)
or a0,s0,zero
lw t9,-0x73f0(gp)
jalr t9
_addiu a1,a1,-0x37dc
beq v0,zero,0x00071978
_lw gp,0x20(sp)
lw t9,-0x7148(gp)
or a1,zero,zero
jalr t9
_or a0,v0,zero
or a0,s0,zero
lw gp,0x20(sp)
mul.D f20,f0,f0
lw a1,-0x7fc8(gp)
lw t9,-0x73f0(gp)
jalr t9
_addiu a1,a1,-0x37cc
beq v0,zero,0x0007199c
_lw gp,0x20(sp)
lw t9,-0x7148(gp)
or a1,zero,zero
jalr t9
_or a0,v0,zero
mul.D f22,f0,f0
lw gp,0x20(sp)
lw a3,0x1c(s2)
or a1,s3,zero
lw a2,0x1c(s0)
or a0,s0,zero
lw v1,0x18(s2)
lw v0,0x18(s0)
sltu s1,a3,a2
lw t9,-0x715c(gp)
movz a2,a3,s1
or s1,a2,zero
sltu a2,v1,v0
movz v0,v1,a2
jalr t9
_sw v0,0x28(sp)
or a0,s2,zero
lw gp,0x20(sp)
or a1,s3,zero
lw t9,-0x715c(gp)
jalr t9
_or s8,v0,zero
or a0,s0,zero
lw gp,0x20(sp)
lw t9,-0x73fc(gp)
jalr t9
_or s7,v0,zero
li v1,0x4
beq v0,v1,0x000719d8
_lw gp,0x20(sp)
lw t9,-0x73fc(gp)
jalr t9
_or a0,s0,zero
li v1,0x3
beq v0,v1,0x000719d8
_lw gp,0x20(sp)
lw t9,-0x7774(gp)
jalr t9
_li a0,0x7
beq v0,zero,0x00071b54
_lw gp,0x20(sp)
lw t9,-0x7774(gp)
jalr t9
_li a0,0x7
beq v0,zero,0x00071ae8
_lw gp,0x20(sp)
li a2,0x2
lw v0,0x28(sp)
or a3,zero,zero
lw a0,-0x7f78(gp)
addiu a1,sp,0x30
lw t9,-0x7718(gp)
sw v0,0x5c(sp)
li v0,0x1
sdc1 f22,0x38(sp)
addiu a0,a0,0x3244
sw s2,0x44(sp)
sdc1 f20,0x30(sp)
sw v0,0x64(sp)
sw s1,0x60(sp)
sw s5,0x58(sp)
sw s7,0x54(sp)
sw s8,0x50(sp)
sw s3,0x4c(sp)
sw s4,0x48(sp)
jalr t9
_sw s0,0x40(sp)
or a0,s8,zero
lw gp,0x20(sp)
lw t9,-0x79bc(gp)
jalr t9
_lw s2,0x64(sp)
lw gp,0x20(sp)
lw t9,-0x79bc(gp)
jalr t9
_or a0,s7,zero
lw v0,0x2c0(s0)
blez v0,0x00071a48
_lw gp,0x20(sp)
mtc1 s1,f0
lw a3,0x2d0(s0)
bgez s1,0x0007183c
_cvt.d.W f2,f0
lw v1,-0x7fd0(gp)
ldc1 f0,0x1418(v1)
add.D f2,f2,f0
lwc1 f0,0x28(sp)
lw v1,0x28(sp)
bgez v1,0x00071858
_cvt.d.W f0,f0
lw v1,-0x7fd0(gp)
ldc1 f4,0x1418(v1)
add.D f0,f0,f4
sll t0,v0,0x1
mul.D f2,f2,f0
or a0,a3,zero
addu t0,t0,v0
or a1,s4,zero
sll t0,t0,0x2
or v1,a3,zero
addu t0,t0,a3
lw a2,0x0(v1)
sll v0,a2,0x1
addu v0,v0,a2
sll v0,v0,0x2
addu v0,a3,v0
lw v0,0x4(v0)
beq v0,zero,0x000718ac
_andi v0,v0,0x2
beq v0,zero,0x000718ac
_nop
ldc1 f0,0x0(a1)
div.D f0,f0,f2
sdc1 f0,0x0(a1)
addiu v1,v1,0xc
bne t0,v1,0x00071878
_addiu a1,a1,0x8
ldc1 f0,0x200(s4)
or a2,zero,zero
div.D f2,f0,f2
lw a1,0x0(a0)
sll v0,a1,0x1
addu v0,v0,a1
sll v0,v0,0x2
addu v0,a3,v0
lw v0,0x4(v0)
andi v0,v0,0x2
beq v0,zero,0x000718ec
_nop
addiu a2,a2,0x1
addiu a0,a0,0xc
bne a0,v1,0x000718c4
_nop
beq a2,zero,0x00071a8c
_lw v0,-0x7fd0(gp)
mtc1 a2,f0
bgez a2,0x00071918
_cvt.d.W f0,f0
lw v0,-0x7fd0(gp)
ldc1 f4,0x1418(v0)
add.D f0,f0,f4
lw t9,-0x7208(gp)
or a0,s5,zero
div.D f2,f2,f0
jalr t9
_sdc1 f2,0x200(s4)
lw gp,0x20(sp)
lw a0,0x106c(sp)
or v0,s2,zero
lw v1,0x0(s6)
bne a0,v1,0x00071b84
_lw ra,0x1094(sp)
lw s8,0x1090(sp)
lw s7,0x108c(sp)
lw s6,0x1088(sp)
lw s5,0x1084(sp)
lw s4,0x1080(sp)
lw s3,0x107c(sp)
lw s2,0x1078(sp)
lw s1,0x1074(sp)
lw s0,0x1070(sp)
ldc1 f22,0x10a0(sp)
ldc1 f20,0x1098(sp)
jr ra
_addiu sp,sp,0x10a8
lw a1,-0x7fc8(gp)
or a0,s0,zero
lw v0,-0x7fc8(gp)
lw t9,-0x73f0(gp)
addiu a1,a1,-0x37cc
jalr t9
_ldc1 f20,-0x3538(v0)
bne v0,zero,0x000716d4
_lw gp,0x20(sp)
lw v0,-0x7fc8(gp)
b 0x000716ec
_ldc1 f22,-0x3530(v0)
lw a1,-0x7fc8(gp)
or a0,s0,zero
lw v0,-0x7fc8(gp)
lw t9,-0x73f0(gp)
addiu a1,a1,-0x3820
jalr t9
_ldc1 f20,-0x3a50(v0)
bne v0,zero,0x0007162c
_lw gp,0x20(sp)
lw v0,-0x7fc8(gp)
b 0x00071640
_ldc1 f0,-0x3540(v0)
lw t9,-0x73fc(gp)
jalr t9
_or a0,s2,zero
li v1,0x4
beq v0,v1,0x00071a08
_lw gp,0x20(sp)
lw t9,-0x73fc(gp)
jalr t9
_or a0,s2,zero
li v1,0x3
bne v0,v1,0x00071774
_lw gp,0x20(sp)
lw t9,-0x7774(gp)
jalr t9
_li a0,0x7
or a2,s1,zero
bltz s1,0x00071b08
_lw gp,0x20(sp)
sra a2,a2,0x6
slt v1,v1,a2
bne v1,zero,0x00071b10
_lw t9,-0x7774(gp)
slti v0,s1,0x80
xori v0,v0,0x1
bne v0,zero,0x00071b30
_lw t9,-0x7774(gp)
b 0x000717a0
_li a2,0x1
mtc1 s1,f0
bgez s1,0x00071a60
_cvt.d.W f2,f0
lw v0,-0x7fd0(gp)
ldc1 f0,0x1418(v0)
add.D f2,f2,f0
lwc1 f0,0x28(sp)
mfc1 v0,f0
bgez v0,0x00071a7c
_cvt.d.W f4,f0
lw v0,-0x7fd0(gp)
ldc1 f0,0x1418(v0)
add.D f4,f4,f0
ldc1 f0,0x200(s4)
mul.D f2,f2,f4
div.D f2,f0,f2
lw v0,-0x7fd0(gp)
b 0x00071918
_ldc1 f0,0x1438(v0)
lw v0,-0x7fd0(gp)
addiu s0,s0,0x340
lw a2,-0x7fc8(gp)
li a3,0x581
lw a1,-0x7fc8(gp)
or a0,s3,zero
addiu v0,v0,0x3e28
lw t9,-0x7990(gp)
addiu a2,a2,-0x35bc
sw s0,0x1c(sp)
sw v0,0x18(sp)
addiu a1,a1,-0x37f4
lw v0,-0x7fd0(gp)
or s2,zero,zero
addiu v0,v0,0x16f8
sw v0,0x14(sp)
li v0,0x190
jalr t9
_sw v0,0x10(sp)
b 0x00071930
_lw gp,0x20(sp)
sltiu v1,v1,0x2
beq v1,zero,0x0007179c
_lw t9,-0x7774(gp)
jalr t9
_li a0,0x7
lw gp,0x20(sp)
b 0x000717a0
_or a2,v1,zero
b 0x00071a20
_addiu a2,s1,0x3f
li a0,0x7
jalr t9
_sw a2,0x2c(sp)
slti v0,v1,0x2
lw gp,0x20(sp)
xori v0,v0,0x1
b 0x00071a38
_lw a2,0x2c(sp)
li a0,0x7
jalr t9
_sw a2,0x2c(sp)
lw a2,0x2c(sp)
slt v0,v1,a2
beq v0,zero,0x000717a0
_lw gp,0x20(sp)
b 0x00071af4
_lw t9,-0x7774(gp)
sltiu v1,v1,0x2
beq v1,zero,0x0007178c
_lw t9,-0x7774(gp)
jalr t9
_li a0,0x7
bne v0,zero,0x00071788
_lw gp,0x20(sp)
sltiu v1,v1,0x2
beq v1,zero,0x0007178c
_lw t9,-0x7774(gp)
b 0x000717a0
_li a2,0x1
lw t9,-0x784c(gp)
jalr t9
_nop
(translation_unit "undefined4 FUN_0007157c(int param_1,int param_2,double *param_3,undefined4 param_4)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  int *piVar9;\n  int extraout_v1;\n  double *extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  int *piVar10;\n  uint uVar11;\n  double *pdVar12;\n  uint uVar13;\n  double *pdVar14;\n  int *piVar16;\n  undefined *puVar17;\n  double dVar18;\n  double dVar19;\n  undefined8 uVar20;\n  double local_1078;\n  double local_1070;\n  int local_1068;\n  int local_1064;\n  double *local_1060;\n  undefined4 local_105c;\n  undefined4 local_1058;\n  undefined4 local_1054;\n  int local_1050;\n  uint local_104c;\n  uint local_1048;\n  undefined4 local_1044;\n  undefined1 auStack_103c [4096];\n  int local_3c;\n  uint uVar6;\n  double *pdVar15;\n  \n  puVar17 = PTR___stack_chk_guard_003a9230;\n  local_3c = *(int *)PTR___stack_chk_guard_003a9230;\n  iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834);\n  if (iVar3 == 0) {\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }\n  else {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }\n  if (iVar3 != 0) {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n  }\n  (*(code *)PTR_FormatLocaleString_003a8d7c)\n            (auStack_103c,0x1000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x380c);\n  iVar3 = (*(code *)PTR_AcquireKernelInfo_003a8fe4)(auStack_103c,param_4);\n  if (iVar3 == 0) {\n    pdVar12 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc);\n    uVar8 = 0;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4,pdVar12,0x581,400,\n               PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x340);\n    goto LAB_00071930;\n  }\n  iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc);\n  if (iVar4 == 0) {\n    dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538);\n    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar4 == 0) goto LAB_0007199c;\nLAB_000716d4:\n    dVar19 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);\n    dVar19 = dVar19 * dVar19;\n  }\n  else {\n    dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);\n    dVar18 = dVar18 * dVar18;\n    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar4 != 0) goto LAB_000716d4;\nLAB_0007199c:\n    dVar19 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);\n  }\n  uVar11 = *(uint *)(param_1 + 0x1c);\n  if (*(uint *)(param_1 + 0x1c) <= *(uint *)(param_2 + 0x1c)) {\n    uVar11 = *(uint *)(param_2 + 0x1c);\n  }\n  uVar6 = *(uint *)(param_1 + 0x18);\n  if (*(uint *)(param_1 + 0x18) <= *(uint *)(param_2 + 0x18)) {\n    uVar6 = *(uint *)(param_2 + 0x18);\n  }\n  uVar5 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_1,param_4);\n  uVar7 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_4);\n  iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);\n  if (((iVar4 == 4) || (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar4 == 3)\n      ) && ((iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 4 ||\n            (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3)))) {\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    uVar13 = uVar11;\n    if ((int)uVar11 < 0) {\n      uVar13 = uVar11 + 0x3f;\n    }\n    pdVar12 = (double *)((int)uVar13 >> 6);\n    if (extraout_v1 < (int)pdVar12) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_01 < 2;\n    }\n    else {\n      bVar1 = (int)uVar11 < 0x80;\n    }\n    if ((bool)(bVar1 ^ 1)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;\n    }\n    else {\n      pdVar12 = (double *)0x1;\n    }\n  }\n  else {\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n      uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }\n    }\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\nLAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pdVar12 = extraout_v1_00;\n    }\n    else {\n      pdVar12 = (double *)0x2;\n    }\n  }\nLAB_000717a0:\n  local_1044 = 1;\n  local_1078 = dVar18;\n  local_1070 = dVar19;\n  local_1068 = param_1;\n  local_1064 = param_2;\n  local_1060 = param_3;\n  local_105c = param_4;\n  local_1058 = uVar5;\n  local_1054 = uVar7;\n  local_1050 = iVar3;\n  local_104c = uVar6;\n  local_1048 = uVar11;\n  (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8938 + 0x3244,&local_1078,pdVar12,0);\n  uVar8 = local_1044;\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(uVar5);\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(uVar7);\n  iVar4 = *(int *)(param_1 + 0x2c0);\n  if (iVar4 < 1) {\n    dVar18 = (double)(int)uVar11;\n    if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar19 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar18 = param_3[0x40] / (dVar18 * dVar19);\nLAB_00071a8c:\n    dVar19 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n  }\n  else {\n    piVar16 = *(int **)(param_1 + 0x2d0);\n    dVar18 = (double)(int)uVar11;\n    if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar19 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    piVar9 = piVar16;\n    pdVar12 = param_3;\n    do {\n      if ((piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0)) {\n        *pdVar12 = *pdVar12 / (dVar18 * dVar19);\n      }\n      piVar9 = piVar9 + 3;\n      pdVar12 = pdVar12 + 1;\n    } while (piVar16 + iVar4 * 3 != piVar9);\n    pdVar12 = (double *)0x0;\n    dVar18 = param_3[0x40] / (dVar18 * dVar19);\n    piVar10 = piVar16;\n    do {\n      if ((piVar16[*piVar10 * 3 + 1] & 2U) != 0) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }\n      piVar10 = piVar10 + 3;\n    } while (piVar10 != piVar9);\n    if (pdVar12 == (double *)0x0) goto LAB_00071a8c;\n    dVar19 = (double)(int)pdVar12;\n    if ((int)pdVar12 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n  }\n  puVar2 = PTR_DestroyKernelInfo_003a96a8;\n  param_3[0x40] = dVar18 / dVar19;\n  (*(code *)puVar2)(iVar3);\nLAB_00071930:\n  if (local_3c == *(int *)puVar17) {\n    return uVar8;\n  }\n  puVar17 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  uVar8 = FUN_0007157c();\n  dVar19 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1438);\n  dVar18 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1400);\n  pdVar14 = pdVar12;\n  do {\n    pdVar15 = pdVar14 + 1;\n    *pdVar14 = (dVar19 - *pdVar14) * dVar18;\n    pdVar14 = pdVar15;\n  } while (pdVar15 != pdVar12 + 0x41);\n  return uVar8;\n}\n\n" (function_definition "undefined4 FUN_0007157c(int param_1,int param_2,double *param_3,undefined4 param_4)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  int *piVar9;\n  int extraout_v1;\n  double *extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  int *piVar10;\n  uint uVar11;\n  double *pdVar12;\n  uint uVar13;\n  double *pdVar14;\n  int *piVar16;\n  undefined *puVar17;\n  double dVar18;\n  double dVar19;\n  undefined8 uVar20;\n  double local_1078;\n  double local_1070;\n  int local_1068;\n  int local_1064;\n  double *local_1060;\n  undefined4 local_105c;\n  undefined4 local_1058;\n  undefined4 local_1054;\n  int local_1050;\n  uint local_104c;\n  uint local_1048;\n  undefined4 local_1044;\n  undefined1 auStack_103c [4096];\n  int local_3c;\n  uint uVar6;\n  double *pdVar15;\n  \n  puVar17 = PTR___stack_chk_guard_003a9230;\n  local_3c = *(int *)PTR___stack_chk_guard_003a9230;\n  iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834);\n  if (iVar3 == 0) {\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }\n  else {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }\n  if (iVar3 != 0) {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n  }\n  (*(code *)PTR_FormatLocaleString_003a8d7c)\n            (auStack_103c,0x1000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x380c);\n  iVar3 = (*(code *)PTR_AcquireKernelInfo_003a8fe4)(auStack_103c,param_4);\n  if (iVar3 == 0) {\n    pdVar12 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc);\n    uVar8 = 0;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4,pdVar12,0x581,400,\n               PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x340);\n    goto LAB_00071930;\n  }\n  iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc);\n  if (iVar4 == 0) {\n    dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538);\n    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar4 == 0) goto LAB_0007199c;\nLAB_000716d4:\n    dVar19 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);\n    dVar19 = dVar19 * dVar19;\n  }\n  else {\n    dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);\n    dVar18 = dVar18 * dVar18;\n    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar4 != 0) goto LAB_000716d4;\nLAB_0007199c:\n    dVar19 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);\n  }\n  uVar11 = *(uint *)(param_1 + 0x1c);\n  if (*(uint *)(param_1 + 0x1c) <= *(uint *)(param_2 + 0x1c)) {\n    uVar11 = *(uint *)(param_2 + 0x1c);\n  }\n  uVar6 = *(uint *)(param_1 + 0x18);\n  if (*(uint *)(param_1 + 0x18) <= *(uint *)(param_2 + 0x18)) {\n    uVar6 = *(uint *)(param_2 + 0x18);\n  }\n  uVar5 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_1,param_4);\n  uVar7 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_4);\n  iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);\n  if (((iVar4 == 4) || (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar4 == 3)\n      ) && ((iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 4 ||\n            (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3)))) {\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    uVar13 = uVar11;\n    if ((int)uVar11 < 0) {\n      uVar13 = uVar11 + 0x3f;\n    }\n    pdVar12 = (double *)((int)uVar13 >> 6);\n    if (extraout_v1 < (int)pdVar12) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_01 < 2;\n    }\n    else {\n      bVar1 = (int)uVar11 < 0x80;\n    }\n    if ((bool)(bVar1 ^ 1)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;\n    }\n    else {\n      pdVar12 = (double *)0x1;\n    }\n  }\n  else {\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n      uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }\n    }\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\nLAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pdVar12 = extraout_v1_00;\n    }\n    else {\n      pdVar12 = (double *)0x2;\n    }\n  }\nLAB_000717a0:\n  local_1044 = 1;\n  local_1078 = dVar18;\n  local_1070 = dVar19;\n  local_1068 = param_1;\n  local_1064 = param_2;\n  local_1060 = param_3;\n  local_105c = param_4;\n  local_1058 = uVar5;\n  local_1054 = uVar7;\n  local_1050 = iVar3;\n  local_104c = uVar6;\n  local_1048 = uVar11;\n  (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8938 + 0x3244,&local_1078,pdVar12,0);\n  uVar8 = local_1044;\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(uVar5);\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(uVar7);\n  iVar4 = *(int *)(param_1 + 0x2c0);\n  if (iVar4 < 1) {\n    dVar18 = (double)(int)uVar11;\n    if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar19 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar18 = param_3[0x40] / (dVar18 * dVar19);\nLAB_00071a8c:\n    dVar19 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n  }\n  else {\n    piVar16 = *(int **)(param_1 + 0x2d0);\n    dVar18 = (double)(int)uVar11;\n    if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar19 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    piVar9 = piVar16;\n    pdVar12 = param_3;\n    do {\n      if ((piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0)) {\n        *pdVar12 = *pdVar12 / (dVar18 * dVar19);\n      }\n      piVar9 = piVar9 + 3;\n      pdVar12 = pdVar12 + 1;\n    } while (piVar16 + iVar4 * 3 != piVar9);\n    pdVar12 = (double *)0x0;\n    dVar18 = param_3[0x40] / (dVar18 * dVar19);\n    piVar10 = piVar16;\n    do {\n      if ((piVar16[*piVar10 * 3 + 1] & 2U) != 0) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }\n      piVar10 = piVar10 + 3;\n    } while (piVar10 != piVar9);\n    if (pdVar12 == (double *)0x0) goto LAB_00071a8c;\n    dVar19 = (double)(int)pdVar12;\n    if ((int)pdVar12 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n  }\n  puVar2 = PTR_DestroyKernelInfo_003a96a8;\n  param_3[0x40] = dVar18 / dVar19;\n  (*(code *)puVar2)(iVar3);\nLAB_00071930:\n  if (local_3c == *(int *)puVar17) {\n    return uVar8;\n  }\n  puVar17 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  uVar8 = FUN_0007157c();\n  dVar19 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1438);\n  dVar18 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1400);\n  pdVar14 = pdVar12;\n  do {\n    pdVar15 = pdVar14 + 1;\n    *pdVar14 = (dVar19 - *pdVar14) * dVar18;\n    pdVar14 = pdVar15;\n  } while (pdVar15 != pdVar12 + 0x41);\n  return uVar8;\n}" type_identifier (function_declarator "FUN_0007157c(int param_1,int param_2,double *param_3,undefined4 param_4)" identifier (parameter_list "(int param_1,int param_2,double *param_3,undefined4 param_4)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "double *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "undefined4 param_4" type_identifier identifier) ))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  int *piVar9;\n  int extraout_v1;\n  double *extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  int *piVar10;\n  uint uVar11;\n  double *pdVar12;\n  uint uVar13;\n  double *pdVar14;\n  int *piVar16;\n  undefined *puVar17;\n  double dVar18;\n  double dVar19;\n  undefined8 uVar20;\n  double local_1078;\n  double local_1070;\n  int local_1068;\n  int local_1064;\n  double *local_1060;\n  undefined4 local_105c;\n  undefined4 local_1058;\n  undefined4 local_1054;\n  int local_1050;\n  uint local_104c;\n  uint local_1048;\n  undefined4 local_1044;\n  undefined1 auStack_103c [4096];\n  int local_3c;\n  uint uVar6;\n  double *pdVar15;\n  \n  puVar17 = PTR___stack_chk_guard_003a9230;\n  local_3c = *(int *)PTR___stack_chk_guard_003a9230;\n  iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834);\n  if (iVar3 == 0) {\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }\n  else {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }\n  if (iVar3 != 0) {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n  }\n  (*(code *)PTR_FormatLocaleString_003a8d7c)\n            (auStack_103c,0x1000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x380c);\n  iVar3 = (*(code *)PTR_AcquireKernelInfo_003a8fe4)(auStack_103c,param_4);\n  if (iVar3 == 0) {\n    pdVar12 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc);\n    uVar8 = 0;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4,pdVar12,0x581,400,\n               PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x340);\n    goto LAB_00071930;\n  }\n  iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc);\n  if (iVar4 == 0) {\n    dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538);\n    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar4 == 0) goto LAB_0007199c;\nLAB_000716d4:\n    dVar19 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);\n    dVar19 = dVar19 * dVar19;\n  }\n  else {\n    dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);\n    dVar18 = dVar18 * dVar18;\n    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar4 != 0) goto LAB_000716d4;\nLAB_0007199c:\n    dVar19 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);\n  }\n  uVar11 = *(uint *)(param_1 + 0x1c);\n  if (*(uint *)(param_1 + 0x1c) <= *(uint *)(param_2 + 0x1c)) {\n    uVar11 = *(uint *)(param_2 + 0x1c);\n  }\n  uVar6 = *(uint *)(param_1 + 0x18);\n  if (*(uint *)(param_1 + 0x18) <= *(uint *)(param_2 + 0x18)) {\n    uVar6 = *(uint *)(param_2 + 0x18);\n  }\n  uVar5 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_1,param_4);\n  uVar7 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_4);\n  iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);\n  if (((iVar4 == 4) || (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar4 == 3)\n      ) && ((iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 4 ||\n            (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3)))) {\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    uVar13 = uVar11;\n    if ((int)uVar11 < 0) {\n      uVar13 = uVar11 + 0x3f;\n    }\n    pdVar12 = (double *)((int)uVar13 >> 6);\n    if (extraout_v1 < (int)pdVar12) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_01 < 2;\n    }\n    else {\n      bVar1 = (int)uVar11 < 0x80;\n    }\n    if ((bool)(bVar1 ^ 1)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;\n    }\n    else {\n      pdVar12 = (double *)0x1;\n    }\n  }\n  else {\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n      uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }\n    }\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\nLAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pdVar12 = extraout_v1_00;\n    }\n    else {\n      pdVar12 = (double *)0x2;\n    }\n  }\nLAB_000717a0:\n  local_1044 = 1;\n  local_1078 = dVar18;\n  local_1070 = dVar19;\n  local_1068 = param_1;\n  local_1064 = param_2;\n  local_1060 = param_3;\n  local_105c = param_4;\n  local_1058 = uVar5;\n  local_1054 = uVar7;\n  local_1050 = iVar3;\n  local_104c = uVar6;\n  local_1048 = uVar11;\n  (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8938 + 0x3244,&local_1078,pdVar12,0);\n  uVar8 = local_1044;\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(uVar5);\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(uVar7);\n  iVar4 = *(int *)(param_1 + 0x2c0);\n  if (iVar4 < 1) {\n    dVar18 = (double)(int)uVar11;\n    if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar19 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar18 = param_3[0x40] / (dVar18 * dVar19);\nLAB_00071a8c:\n    dVar19 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n  }\n  else {\n    piVar16 = *(int **)(param_1 + 0x2d0);\n    dVar18 = (double)(int)uVar11;\n    if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar19 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    piVar9 = piVar16;\n    pdVar12 = param_3;\n    do {\n      if ((piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0)) {\n        *pdVar12 = *pdVar12 / (dVar18 * dVar19);\n      }\n      piVar9 = piVar9 + 3;\n      pdVar12 = pdVar12 + 1;\n    } while (piVar16 + iVar4 * 3 != piVar9);\n    pdVar12 = (double *)0x0;\n    dVar18 = param_3[0x40] / (dVar18 * dVar19);\n    piVar10 = piVar16;\n    do {\n      if ((piVar16[*piVar10 * 3 + 1] & 2U) != 0) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }\n      piVar10 = piVar10 + 3;\n    } while (piVar10 != piVar9);\n    if (pdVar12 == (double *)0x0) goto LAB_00071a8c;\n    dVar19 = (double)(int)pdVar12;\n    if ((int)pdVar12 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n  }\n  puVar2 = PTR_DestroyKernelInfo_003a96a8;\n  param_3[0x40] = dVar18 / dVar19;\n  (*(code *)puVar2)(iVar3);\nLAB_00071930:\n  if (local_3c == *(int *)puVar17) {\n    return uVar8;\n  }\n  puVar17 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  uVar8 = FUN_0007157c();\n  dVar19 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1438);\n  dVar18 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1400);\n  pdVar14 = pdVar12;\n  do {\n    pdVar15 = pdVar14 + 1;\n    *pdVar14 = (dVar19 - *pdVar14) * dVar18;\n    pdVar14 = pdVar15;\n  } while (pdVar15 != pdVar12 + 0x41);\n  return uVar8;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int extraout_v1;" primitive_type identifier ;) (declaration "double *extraout_v1_00;" primitive_type (pointer_declarator "*extraout_v1_00" * identifier) ;) (declaration "int extraout_v1_01;" primitive_type identifier ;) (declaration "int extraout_v1_02;" primitive_type identifier ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "double *pdVar12;" primitive_type (pointer_declarator "*pdVar12" * identifier) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "double *pdVar14;" primitive_type (pointer_declarator "*pdVar14" * identifier) ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "undefined *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "double dVar18;" primitive_type identifier ;) (declaration "double dVar19;" primitive_type identifier ;) (declaration "undefined8 uVar20;" type_identifier identifier ;) (declaration "double local_1078;" primitive_type identifier ;) (declaration "double local_1070;" primitive_type identifier ;) (declaration "int local_1068;" primitive_type identifier ;) (declaration "int local_1064;" primitive_type identifier ;) (declaration "double *local_1060;" primitive_type (pointer_declarator "*local_1060" * identifier) ;) (declaration "undefined4 local_105c;" type_identifier identifier ;) (declaration "undefined4 local_1058;" type_identifier identifier ;) (declaration "undefined4 local_1054;" type_identifier identifier ;) (declaration "int local_1050;" primitive_type identifier ;) (declaration "uint local_104c;" type_identifier identifier ;) (declaration "uint local_1048;" type_identifier identifier ;) (declaration "undefined4 local_1044;" type_identifier identifier ;) (declaration "undefined1 auStack_103c [4096];" type_identifier (array_declarator "auStack_103c [4096]" identifier [ number_literal ]) ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "double *pdVar15;" primitive_type (pointer_declarator "*pdVar15" * identifier) ;) (expression_statement "puVar17 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar17 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "local_3c = *(int *)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_3c = *(int *)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_003a9230" * (cast_expression "(int *)PTR___stack_chk_guard_003a9230" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834);" (assignment_expression "iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834)" identifier = (call_expression "(*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834)" (parenthesized_expression "(*(code *)PTR_GetImageArtifact_003a94c0)" ( (pointer_expression "*(code *)PTR_GetImageArtifact_003a94c0" * (cast_expression "(code *)PTR_GetImageArtifact_003a94c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834)" ( identifier , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834" identifier + number_literal) )))) ;) (if_statement "if (iVar3 == 0) {\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }\n  else {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }" { (expression_statement "iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);" (assignment_expression "iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820)" identifier = (call_expression "(*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820)" (parenthesized_expression "(*(code *)PTR_GetImageArtifact_003a94c0)" ( (pointer_expression "*(code *)PTR_GetImageArtifact_003a94c0" * (cast_expression "(code *)PTR_GetImageArtifact_003a94c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820)" ( identifier , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820" identifier + number_literal) )))) ;) }) (else_clause "else {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }" else (compound_statement "{\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }" { (expression_statement "(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);" (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0)" (parenthesized_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)" ( (pointer_expression "*(code *)PTR_InterpretLocaleValue_003a9768" * (cast_expression "(code *)PTR_InterpretLocaleValue_003a9768" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,0)" ( identifier , number_literal ))) ;) (expression_statement "iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);" (assignment_expression "iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820)" identifier = (call_expression "(*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820)" (parenthesized_expression "(*(code *)PTR_GetImageArtifact_003a94c0)" ( (pointer_expression "*(code *)PTR_GetImageArtifact_003a94c0" * (cast_expression "(code *)PTR_GetImageArtifact_003a94c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820)" ( identifier , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820" identifier + number_literal) )))) ;) }))) (if_statement "if (iVar3 != 0) {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n  }" { (expression_statement "(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);" (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0)" (parenthesized_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)" ( (pointer_expression "*(code *)PTR_InterpretLocaleValue_003a9768" * (cast_expression "(code *)PTR_InterpretLocaleValue_003a9768" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,0)" ( identifier , number_literal ))) ;) })) (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)\n            (auStack_103c,0x1000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x380c);" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)\n            (auStack_103c,0x1000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x380c)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003a8d7c" * (cast_expression "(code *)PTR_FormatLocaleString_003a8d7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_103c,0x1000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x380c)" ( identifier , number_literal , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x380c" identifier + number_literal) ))) ;) (expression_statement "iVar3 = (*(code *)PTR_AcquireKernelInfo_003a8fe4)(auStack_103c,param_4);" (assignment_expression "iVar3 = (*(code *)PTR_AcquireKernelInfo_003a8fe4)(auStack_103c,param_4)" identifier = (call_expression "(*(code *)PTR_AcquireKernelInfo_003a8fe4)(auStack_103c,param_4)" (parenthesized_expression "(*(code *)PTR_AcquireKernelInfo_003a8fe4)" ( (pointer_expression "*(code *)PTR_AcquireKernelInfo_003a8fe4" * (cast_expression "(code *)PTR_AcquireKernelInfo_003a8fe4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_103c,param_4)" ( identifier , identifier )))) ;) (if_statement "if (iVar3 == 0) {\n    pdVar12 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc);\n    uVar8 = 0;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4,pdVar12,0x581,400,\n               PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x340);\n    goto LAB_00071930;\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    pdVar12 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc);\n    uVar8 = 0;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4,pdVar12,0x581,400,\n               PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x340);\n    goto LAB_00071930;\n  }" { (expression_statement "pdVar12 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc);" (assignment_expression "pdVar12 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc)" identifier = (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc" identifier + number_literal) )))) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4,pdVar12,0x581,400,\n               PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x340);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4,pdVar12,0x581,400,\n               PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x340)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" ( (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" * (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4,pdVar12,0x581,400,\n               PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x340)" ( identifier , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4" identifier + number_literal) , identifier , number_literal , number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x16f8" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x3e28" identifier + number_literal) , (binary_expression "param_1 + 0x340" identifier + number_literal) ))) ;) (goto_statement "goto LAB_00071930;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc);" (assignment_expression "iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc)" identifier = (call_expression "(*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc)" (parenthesized_expression "(*(code *)PTR_GetImageArtifact_003a94c0)" ( (pointer_expression "*(code *)PTR_GetImageArtifact_003a94c0" * (cast_expression "(code *)PTR_GetImageArtifact_003a94c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc)" ( identifier , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n    dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538);\n    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar4 == 0) goto LAB_0007199c;\nLAB_000716d4:\n    dVar19 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);\n    dVar19 = dVar19 * dVar19;\n  }\n  else {\n    dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);\n    dVar18 = dVar18 * dVar18;\n    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar4 != 0) goto LAB_000716d4;\nLAB_0007199c:\n    dVar19 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538);\n    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar4 == 0) goto LAB_0007199c;\nLAB_000716d4:\n    dVar19 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);\n    dVar19 = dVar19 * dVar19;\n  }" { (expression_statement "dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538);" (assignment_expression "dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538)" identifier = (pointer_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538)" * (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);" (assignment_expression "iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc)" identifier = (call_expression "(*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc)" (parenthesized_expression "(*(code *)PTR_GetImageArtifact_003a94c0)" ( (pointer_expression "*(code *)PTR_GetImageArtifact_003a94c0" * (cast_expression "(code *)PTR_GetImageArtifact_003a94c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc)" ( identifier , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) goto LAB_0007199c;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0007199c;" goto statement_identifier ;)) (labeled_statement "LAB_000716d4:\n    dVar19 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);" statement_identifier : (expression_statement "dVar19 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);" (assignment_expression "dVar19 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0)" identifier = (cast_expression "(double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0)" (parenthesized_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)" ( (pointer_expression "*(code *)PTR_InterpretLocaleValue_003a9768" * (cast_expression "(code *)PTR_InterpretLocaleValue_003a9768" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4,0)" ( identifier , number_literal ))))) ;)) (expression_statement "dVar19 = dVar19 * dVar19;" (assignment_expression "dVar19 = dVar19 * dVar19" identifier = (binary_expression "dVar19 * dVar19" identifier * identifier)) ;) }) (else_clause "else {\n    dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);\n    dVar18 = dVar18 * dVar18;\n    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar4 != 0) goto LAB_000716d4;\nLAB_0007199c:\n    dVar19 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);\n  }" else (compound_statement "{\n    dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);\n    dVar18 = dVar18 * dVar18;\n    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar4 != 0) goto LAB_000716d4;\nLAB_0007199c:\n    dVar19 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);\n  }" { (expression_statement "dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);" (assignment_expression "dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0)" identifier = (cast_expression "(double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0)" (parenthesized_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)" ( (pointer_expression "*(code *)PTR_InterpretLocaleValue_003a9768" * (cast_expression "(code *)PTR_InterpretLocaleValue_003a9768" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4,0)" ( identifier , number_literal ))))) ;) (expression_statement "dVar18 = dVar18 * dVar18;" (assignment_expression "dVar18 = dVar18 * dVar18" identifier = (binary_expression "dVar18 * dVar18" identifier * identifier)) ;) (expression_statement "iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);" (assignment_expression "iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc)" identifier = (call_expression "(*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc)" (parenthesized_expression "(*(code *)PTR_GetImageArtifact_003a94c0)" ( (pointer_expression "*(code *)PTR_GetImageArtifact_003a94c0" * (cast_expression "(code *)PTR_GetImageArtifact_003a94c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc)" ( identifier , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc" identifier + number_literal) )))) ;) (if_statement "if (iVar4 != 0) goto LAB_000716d4;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000716d4;" goto statement_identifier ;)) (labeled_statement "LAB_0007199c:\n    dVar19 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);" statement_identifier : (expression_statement "dVar19 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);" (assignment_expression "dVar19 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530)" identifier = (pointer_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530)" * (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar11 = *(uint *)(param_1 + 0x1c);" (assignment_expression "uVar11 = *(uint *)(param_1 + 0x1c)" identifier = (pointer_expression "*(uint *)(param_1 + 0x1c)" * (cast_expression "(uint *)(param_1 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (*(uint *)(param_1 + 0x1c) <= *(uint *)(param_2 + 0x1c)) {\n    uVar11 = *(uint *)(param_2 + 0x1c);\n  }" if (parenthesized_expression "(*(uint *)(param_1 + 0x1c) <= *(uint *)(param_2 + 0x1c))" ( (binary_expression "*(uint *)(param_1 + 0x1c) <= *(uint *)(param_2 + 0x1c)" (pointer_expression "*(uint *)(param_1 + 0x1c)" * (cast_expression "(uint *)(param_1 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) <= (pointer_expression "*(uint *)(param_2 + 0x1c)" * (cast_expression "(uint *)(param_2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) ))))) )) (compound_statement "{\n    uVar11 = *(uint *)(param_2 + 0x1c);\n  }" { (expression_statement "uVar11 = *(uint *)(param_2 + 0x1c);" (assignment_expression "uVar11 = *(uint *)(param_2 + 0x1c)" identifier = (pointer_expression "*(uint *)(param_2 + 0x1c)" * (cast_expression "(uint *)(param_2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) ))))) ;) })) (expression_statement "uVar6 = *(uint *)(param_1 + 0x18);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x18)" identifier = (pointer_expression "*(uint *)(param_1 + 0x18)" * (cast_expression "(uint *)(param_1 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (*(uint *)(param_1 + 0x18) <= *(uint *)(param_2 + 0x18)) {\n    uVar6 = *(uint *)(param_2 + 0x18);\n  }" if (parenthesized_expression "(*(uint *)(param_1 + 0x18) <= *(uint *)(param_2 + 0x18))" ( (binary_expression "*(uint *)(param_1 + 0x18) <= *(uint *)(param_2 + 0x18)" (pointer_expression "*(uint *)(param_1 + 0x18)" * (cast_expression "(uint *)(param_1 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) <= (pointer_expression "*(uint *)(param_2 + 0x18)" * (cast_expression "(uint *)(param_2 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n    uVar6 = *(uint *)(param_2 + 0x18);\n  }" { (expression_statement "uVar6 = *(uint *)(param_2 + 0x18);" (assignment_expression "uVar6 = *(uint *)(param_2 + 0x18)" identifier = (pointer_expression "*(uint *)(param_2 + 0x18)" * (cast_expression "(uint *)(param_2 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) ))))) ;) })) (expression_statement "uVar5 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_1,param_4);" (assignment_expression "uVar5 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_1,param_4)" identifier = (call_expression "(*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_1,param_4)" (parenthesized_expression "(*(code *)PTR_AcquireVirtualCacheView_003a9754)" ( (pointer_expression "*(code *)PTR_AcquireVirtualCacheView_003a9754" * (cast_expression "(code *)PTR_AcquireVirtualCacheView_003a9754" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_4)" ( identifier , identifier )))) ;) (expression_statement "uVar7 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_4);" (assignment_expression "uVar7 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_4)" identifier = (call_expression "(*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_4)" (parenthesized_expression "(*(code *)PTR_AcquireVirtualCacheView_003a9754)" ( (pointer_expression "*(code *)PTR_AcquireVirtualCacheView_003a9754" * (cast_expression "(code *)PTR_AcquireVirtualCacheView_003a9754" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,param_4)" ( identifier , identifier )))) ;) (expression_statement "iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);" (assignment_expression "iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (((iVar4 == 4) || (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar4 == 3)\n      ) && ((iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 4 ||\n            (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3)))) {\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    uVar13 = uVar11;\n    if ((int)uVar11 < 0) {\n      uVar13 = uVar11 + 0x3f;\n    }\n    pdVar12 = (double *)((int)uVar13 >> 6);\n    if (extraout_v1 < (int)pdVar12) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_01 < 2;\n    }\n    else {\n      bVar1 = (int)uVar11 < 0x80;\n    }\n    if ((bool)(bVar1 ^ 1)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;\n    }\n    else {\n      pdVar12 = (double *)0x1;\n    }\n  }\n  else {\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n      uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }\n    }\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\nLAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pdVar12 = extraout_v1_00;\n    }\n    else {\n      pdVar12 = (double *)0x2;\n    }\n  }" if (parenthesized_expression "(((iVar4 == 4) || (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar4 == 3)\n      ) && ((iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 4 ||\n            (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3))))" ( (binary_expression "((iVar4 == 4) || (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar4 == 3)\n      ) && ((iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 4 ||\n            (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3)))" (parenthesized_expression "((iVar4 == 4) || (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar4 == 3)\n      )" ( (binary_expression "(iVar4 == 4) || (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar4 == 3)" (parenthesized_expression "(iVar4 == 4)" ( (binary_expression "iVar4 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar4 == 3)" ( (comma_expression "iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar4 == 3" (assignment_expression "iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) , (binary_expression "iVar4 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 4 ||\n            (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3)))" ( (parenthesized_expression "(iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 4 ||\n            (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3))" ( (comma_expression "iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 4 ||\n            (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3)" (assignment_expression "iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2)" ( identifier )))) , (binary_expression "iVar4 == 4 ||\n            (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3)" (binary_expression "iVar4 == 4" identifier == number_literal) || (parenthesized_expression "(iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3)" ( (comma_expression "iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3" (assignment_expression "iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2)" ( identifier )))) , (binary_expression "iVar4 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    uVar13 = uVar11;\n    if ((int)uVar11 < 0) {\n      uVar13 = uVar11 + 0x3f;\n    }\n    pdVar12 = (double *)((int)uVar13 >> 6);\n    if (extraout_v1 < (int)pdVar12) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_01 < 2;\n    }\n    else {\n      bVar1 = (int)uVar11 < 0x80;\n    }\n    if ((bool)(bVar1 ^ 1)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;\n    }\n    else {\n      pdVar12 = (double *)0x1;\n    }\n  }" { (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "uVar13 = uVar11;" (assignment_expression "uVar13 = uVar11" identifier = identifier) ;) (if_statement "if ((int)uVar11 < 0) {\n      uVar13 = uVar11 + 0x3f;\n    }" if (parenthesized_expression "((int)uVar11 < 0)" ( (binary_expression "(int)uVar11 < 0" (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      uVar13 = uVar11 + 0x3f;\n    }" { (expression_statement "uVar13 = uVar11 + 0x3f;" (assignment_expression "uVar13 = uVar11 + 0x3f" identifier = (binary_expression "uVar11 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "pdVar12 = (double *)((int)uVar13 >> 6);" (assignment_expression "pdVar12 = (double *)((int)uVar13 >> 6)" identifier = (cast_expression "(double *)((int)uVar13 >> 6)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)uVar13 >> 6)" ( (binary_expression "(int)uVar13 >> 6" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (if_statement "if (extraout_v1 < (int)pdVar12) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_01 < 2;\n    }\n    else {\n      bVar1 = (int)uVar11 < 0x80;\n    }" if (parenthesized_expression "(extraout_v1 < (int)pdVar12)" ( (binary_expression "extraout_v1 < (int)pdVar12" identifier < (cast_expression "(int)pdVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_01 < 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_01 < 2;" (assignment_expression "bVar1 = extraout_v1_01 < 2" identifier = (binary_expression "extraout_v1_01 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n      bVar1 = (int)uVar11 < 0x80;\n    }" else (compound_statement "{\n      bVar1 = (int)uVar11 < 0x80;\n    }" { (expression_statement "bVar1 = (int)uVar11 < 0x80;" (assignment_expression "bVar1 = (int)uVar11 < 0x80" identifier = (binary_expression "(int)uVar11 < 0x80" (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) ;) }))) (if_statement "if ((bool)(bVar1 ^ 1)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;\n    }\n    else {\n      pdVar12 = (double *)0x1;\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 *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;\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 ))) ;) (if_statement "if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;" if (parenthesized_expression "(extraout_v1_02 < (int)pdVar12)" ( (binary_expression "extraout_v1_02 < (int)pdVar12" identifier < (cast_expression "(int)pdVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00071af4;" goto statement_identifier ;)) }) (else_clause "else {\n      pdVar12 = (double *)0x1;\n    }" else (compound_statement "{\n      pdVar12 = (double *)0x1;\n    }" { (expression_statement "pdVar12 = (double *)0x1;" (assignment_expression "pdVar12 = (double *)0x1" identifier = (cast_expression "(double *)0x1" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }) (else_clause "else {\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n      uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }\n    }\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\nLAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pdVar12 = extraout_v1_00;\n    }\n    else {\n      pdVar12 = (double *)0x2;\n    }\n  }" else (compound_statement "{\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n      uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }\n    }\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\nLAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pdVar12 = extraout_v1_00;\n    }\n    else {\n      pdVar12 = (double *)0x2;\n    }\n  }" { (expression_statement "uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar20 = (*(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)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n      uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }\n    }" if (parenthesized_expression "(((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2))" ( (binary_expression "((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)" (parenthesized_expression "((int)((ulonglong)uVar20 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar20 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar20 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar20 >> 0x20)" ( (binary_expression "(ulonglong)uVar20 >> 0x20" (cast_expression "(ulonglong)uVar20" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar20 < 2)" ( (binary_expression "(uint)uVar20 < 2" (cast_expression "(uint)uVar20" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n      uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }\n    }" { (expression_statement "uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar20 = (*(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)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2))" ( (binary_expression "((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)" (parenthesized_expression "((int)((ulonglong)uVar20 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar20 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar20 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar20 >> 0x20)" ( (binary_expression "(ulonglong)uVar20 >> 0x20" (cast_expression "(ulonglong)uVar20" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar20 < 2)" ( (binary_expression "(uint)uVar20 < 2" (cast_expression "(uint)uVar20" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }" { (expression_statement "pdVar12 = (double *)0x1;" (assignment_expression "pdVar12 = (double *)0x1" identifier = (cast_expression "(double *)0x1" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000717a0;" goto statement_identifier ;) })) })) (expression_statement "uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar20 = (*(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)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\nLAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pdVar12 = extraout_v1_00;\n    }\n    else {\n      pdVar12 = (double *)0x2;\n    }" if (parenthesized_expression "(((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2))" ( (binary_expression "((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)" (parenthesized_expression "((int)((ulonglong)uVar20 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar20 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar20 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar20 >> 0x20)" ( (binary_expression "(ulonglong)uVar20 >> 0x20" (cast_expression "(ulonglong)uVar20" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar20 < 2)" ( (binary_expression "(uint)uVar20 < 2" (cast_expression "(uint)uVar20" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\nLAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pdVar12 = extraout_v1_00;\n    }" { (labeled_statement "LAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" statement_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 "pdVar12 = extraout_v1_00;" (assignment_expression "pdVar12 = extraout_v1_00" identifier = identifier) ;) }) (else_clause "else {\n      pdVar12 = (double *)0x2;\n    }" else (compound_statement "{\n      pdVar12 = (double *)0x2;\n    }" { (expression_statement "pdVar12 = (double *)0x2;" (assignment_expression "pdVar12 = (double *)0x2" identifier = (cast_expression "(double *)0x2" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }))) (labeled_statement "LAB_000717a0:\n  local_1044 = 1;" statement_identifier : (expression_statement "local_1044 = 1;" (assignment_expression "local_1044 = 1" identifier = number_literal) ;)) (expression_statement "local_1078 = dVar18;" (assignment_expression "local_1078 = dVar18" identifier = identifier) ;) (expression_statement "local_1070 = dVar19;" (assignment_expression "local_1070 = dVar19" identifier = identifier) ;) (expression_statement "local_1068 = param_1;" (assignment_expression "local_1068 = param_1" identifier = identifier) ;) (expression_statement "local_1064 = param_2;" (assignment_expression "local_1064 = param_2" identifier = identifier) ;) (expression_statement "local_1060 = param_3;" (assignment_expression "local_1060 = param_3" identifier = identifier) ;) (expression_statement "local_105c = param_4;" (assignment_expression "local_105c = param_4" identifier = identifier) ;) (expression_statement "local_1058 = uVar5;" (assignment_expression "local_1058 = uVar5" identifier = identifier) ;) (expression_statement "local_1054 = uVar7;" (assignment_expression "local_1054 = uVar7" identifier = identifier) ;) (expression_statement "local_1050 = iVar3;" (assignment_expression "local_1050 = iVar3" identifier = identifier) ;) (expression_statement "local_104c = uVar6;" (assignment_expression "local_104c = uVar6" identifier = identifier) ;) (expression_statement "local_1048 = uVar11;" (assignment_expression "local_1048 = uVar11" identifier = identifier) ;) (expression_statement "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8938 + 0x3244,&local_1078,pdVar12,0);" (call_expression "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8938 + 0x3244,&local_1078,pdVar12,0)" (parenthesized_expression "(*(code *)PTR_GOMP_parallel_003a9198)" ( (pointer_expression "*(code *)PTR_GOMP_parallel_003a9198" * (cast_expression "(code *)PTR_GOMP_parallel_003a9198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a8938 + 0x3244,&local_1078,pdVar12,0)" ( (binary_expression "PTR_LAB_003a8938 + 0x3244" identifier + number_literal) , (pointer_expression "&local_1078" & identifier) , identifier , number_literal ))) ;) (expression_statement "uVar8 = local_1044;" (assignment_expression "uVar8 = local_1044" identifier = identifier) ;) (expression_statement "(*(code *)PTR_DestroyCacheView_003a8ef4)(uVar5);" (call_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)(uVar5)" (parenthesized_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)" ( (pointer_expression "*(code *)PTR_DestroyCacheView_003a8ef4" * (cast_expression "(code *)PTR_DestroyCacheView_003a8ef4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar5)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_DestroyCacheView_003a8ef4)(uVar7);" (call_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)(uVar7)" (parenthesized_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)" ( (pointer_expression "*(code *)PTR_DestroyCacheView_003a8ef4" * (cast_expression "(code *)PTR_DestroyCacheView_003a8ef4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "iVar4 = *(int *)(param_1 + 0x2c0);" (assignment_expression "iVar4 = *(int *)(param_1 + 0x2c0)" identifier = (pointer_expression "*(int *)(param_1 + 0x2c0)" * (cast_expression "(int *)(param_1 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c0)" ( (binary_expression "param_1 + 0x2c0" identifier + number_literal) ))))) ;) (if_statement "if (iVar4 < 1) {\n    dVar18 = (double)(int)uVar11;\n    if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar19 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar18 = param_3[0x40] / (dVar18 * dVar19);\nLAB_00071a8c:\n    dVar19 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n  }\n  else {\n    piVar16 = *(int **)(param_1 + 0x2d0);\n    dVar18 = (double)(int)uVar11;\n    if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar19 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    piVar9 = piVar16;\n    pdVar12 = param_3;\n    do {\n      if ((piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0)) {\n        *pdVar12 = *pdVar12 / (dVar18 * dVar19);\n      }\n      piVar9 = piVar9 + 3;\n      pdVar12 = pdVar12 + 1;\n    } while (piVar16 + iVar4 * 3 != piVar9);\n    pdVar12 = (double *)0x0;\n    dVar18 = param_3[0x40] / (dVar18 * dVar19);\n    piVar10 = piVar16;\n    do {\n      if ((piVar16[*piVar10 * 3 + 1] & 2U) != 0) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }\n      piVar10 = piVar10 + 3;\n    } while (piVar10 != piVar9);\n    if (pdVar12 == (double *)0x0) goto LAB_00071a8c;\n    dVar19 = (double)(int)pdVar12;\n    if ((int)pdVar12 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n  }" if (parenthesized_expression "(iVar4 < 1)" ( (binary_expression "iVar4 < 1" identifier < number_literal) )) (compound_statement "{\n    dVar18 = (double)(int)uVar11;\n    if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar19 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar18 = param_3[0x40] / (dVar18 * dVar19);\nLAB_00071a8c:\n    dVar19 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n  }" { (expression_statement "dVar18 = (double)(int)uVar11;" (assignment_expression "dVar18 = (double)(int)uVar11" identifier = (cast_expression "(double)(int)uVar11" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" if (parenthesized_expression "((int)uVar11 < 0)" ( (binary_expression "(int)uVar11 < 0" (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" { (expression_statement "dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);" (assignment_expression "dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" identifier = (binary_expression "dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" identifier + (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1418)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1418)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1418)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1418" identifier + number_literal) )))))) ;) })) (expression_statement "dVar19 = (double)(int)uVar6;" (assignment_expression "dVar19 = (double)(int)uVar6" identifier = (cast_expression "(double)(int)uVar6" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" if (parenthesized_expression "((int)uVar6 < 0)" ( (binary_expression "(int)uVar6 < 0" (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" { (expression_statement "dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);" (assignment_expression "dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" identifier = (binary_expression "dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" identifier + (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1418)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1418)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1418)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1418" identifier + number_literal) )))))) ;) })) (expression_statement "dVar18 = param_3[0x40] / (dVar18 * dVar19);" (assignment_expression "dVar18 = param_3[0x40] / (dVar18 * dVar19)" identifier = (binary_expression "param_3[0x40] / (dVar18 * dVar19)" (subscript_expression "param_3[0x40]" identifier [ number_literal ]) / (parenthesized_expression "(dVar18 * dVar19)" ( (binary_expression "dVar18 * dVar19" identifier * identifier) )))) ;) (labeled_statement "LAB_00071a8c:\n    dVar19 = *(double *)(PTR_LAB_003a88e0 + 0x1438);" statement_identifier : (expression_statement "dVar19 = *(double *)(PTR_LAB_003a88e0 + 0x1438);" (assignment_expression "dVar19 = *(double *)(PTR_LAB_003a88e0 + 0x1438)" identifier = (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1438)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1438)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1438" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n    piVar16 = *(int **)(param_1 + 0x2d0);\n    dVar18 = (double)(int)uVar11;\n    if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar19 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    piVar9 = piVar16;\n    pdVar12 = param_3;\n    do {\n      if ((piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0)) {\n        *pdVar12 = *pdVar12 / (dVar18 * dVar19);\n      }\n      piVar9 = piVar9 + 3;\n      pdVar12 = pdVar12 + 1;\n    } while (piVar16 + iVar4 * 3 != piVar9);\n    pdVar12 = (double *)0x0;\n    dVar18 = param_3[0x40] / (dVar18 * dVar19);\n    piVar10 = piVar16;\n    do {\n      if ((piVar16[*piVar10 * 3 + 1] & 2U) != 0) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }\n      piVar10 = piVar10 + 3;\n    } while (piVar10 != piVar9);\n    if (pdVar12 == (double *)0x0) goto LAB_00071a8c;\n    dVar19 = (double)(int)pdVar12;\n    if ((int)pdVar12 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n  }" else (compound_statement "{\n    piVar16 = *(int **)(param_1 + 0x2d0);\n    dVar18 = (double)(int)uVar11;\n    if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar19 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    piVar9 = piVar16;\n    pdVar12 = param_3;\n    do {\n      if ((piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0)) {\n        *pdVar12 = *pdVar12 / (dVar18 * dVar19);\n      }\n      piVar9 = piVar9 + 3;\n      pdVar12 = pdVar12 + 1;\n    } while (piVar16 + iVar4 * 3 != piVar9);\n    pdVar12 = (double *)0x0;\n    dVar18 = param_3[0x40] / (dVar18 * dVar19);\n    piVar10 = piVar16;\n    do {\n      if ((piVar16[*piVar10 * 3 + 1] & 2U) != 0) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }\n      piVar10 = piVar10 + 3;\n    } while (piVar10 != piVar9);\n    if (pdVar12 == (double *)0x0) goto LAB_00071a8c;\n    dVar19 = (double)(int)pdVar12;\n    if ((int)pdVar12 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n  }" { (expression_statement "piVar16 = *(int **)(param_1 + 0x2d0);" (assignment_expression "piVar16 = *(int **)(param_1 + 0x2d0)" identifier = (pointer_expression "*(int **)(param_1 + 0x2d0)" * (cast_expression "(int **)(param_1 + 0x2d0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x2d0)" ( (binary_expression "param_1 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "dVar18 = (double)(int)uVar11;" (assignment_expression "dVar18 = (double)(int)uVar11" identifier = (cast_expression "(double)(int)uVar11" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" if (parenthesized_expression "((int)uVar11 < 0)" ( (binary_expression "(int)uVar11 < 0" (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" { (expression_statement "dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);" (assignment_expression "dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" identifier = (binary_expression "dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" identifier + (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1418)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1418)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1418)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1418" identifier + number_literal) )))))) ;) })) (expression_statement "dVar19 = (double)(int)uVar6;" (assignment_expression "dVar19 = (double)(int)uVar6" identifier = (cast_expression "(double)(int)uVar6" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" if (parenthesized_expression "((int)uVar6 < 0)" ( (binary_expression "(int)uVar6 < 0" (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" { (expression_statement "dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);" (assignment_expression "dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" identifier = (binary_expression "dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" identifier + (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1418)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1418)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1418)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1418" identifier + number_literal) )))))) ;) })) (expression_statement "piVar9 = piVar16;" (assignment_expression "piVar9 = piVar16" identifier = identifier) ;) (expression_statement "pdVar12 = param_3;" (assignment_expression "pdVar12 = param_3" identifier = identifier) ;) (do_statement "do {\n      if ((piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0)) {\n        *pdVar12 = *pdVar12 / (dVar18 * dVar19);\n      }\n      piVar9 = piVar9 + 3;\n      pdVar12 = pdVar12 + 1;\n    } while (piVar16 + iVar4 * 3 != piVar9);" do (compound_statement "{\n      if ((piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0)) {\n        *pdVar12 = *pdVar12 / (dVar18 * dVar19);\n      }\n      piVar9 = piVar9 + 3;\n      pdVar12 = pdVar12 + 1;\n    }" { (if_statement "if ((piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0)) {\n        *pdVar12 = *pdVar12 / (dVar18 * dVar19);\n      }" if (parenthesized_expression "((piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0))" ( (binary_expression "(piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0)" (parenthesized_expression "(piVar16[*piVar9 * 3 + 1] != 0)" ( (binary_expression "piVar16[*piVar9 * 3 + 1] != 0" (subscript_expression "piVar16[*piVar9 * 3 + 1]" identifier [ (binary_expression "*piVar9 * 3 + 1" (binary_expression "*piVar9 * 3" (pointer_expression "*piVar9" * identifier) * number_literal) + number_literal) ]) != number_literal) )) && (parenthesized_expression "((piVar16[*piVar9 * 3 + 1] & 2U) != 0)" ( (binary_expression "(piVar16[*piVar9 * 3 + 1] & 2U) != 0" (parenthesized_expression "(piVar16[*piVar9 * 3 + 1] & 2U)" ( (binary_expression "piVar16[*piVar9 * 3 + 1] & 2U" (subscript_expression "piVar16[*piVar9 * 3 + 1]" identifier [ (binary_expression "*piVar9 * 3 + 1" (binary_expression "*piVar9 * 3" (pointer_expression "*piVar9" * identifier) * number_literal) + number_literal) ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n        *pdVar12 = *pdVar12 / (dVar18 * dVar19);\n      }" { (expression_statement "*pdVar12 = *pdVar12 / (dVar18 * dVar19);" (assignment_expression "*pdVar12 = *pdVar12 / (dVar18 * dVar19)" (pointer_expression "*pdVar12" * identifier) = (binary_expression "*pdVar12 / (dVar18 * dVar19)" (pointer_expression "*pdVar12" * identifier) / (parenthesized_expression "(dVar18 * dVar19)" ( (binary_expression "dVar18 * dVar19" identifier * identifier) )))) ;) })) (expression_statement "piVar9 = piVar9 + 3;" (assignment_expression "piVar9 = piVar9 + 3" identifier = (binary_expression "piVar9 + 3" identifier + number_literal)) ;) (expression_statement "pdVar12 = pdVar12 + 1;" (assignment_expression "pdVar12 = pdVar12 + 1" identifier = (binary_expression "pdVar12 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar16 + iVar4 * 3 != piVar9)" ( (binary_expression "piVar16 + iVar4 * 3 != piVar9" (binary_expression "piVar16 + iVar4 * 3" identifier + (binary_expression "iVar4 * 3" identifier * number_literal)) != identifier) )) ;) (expression_statement "pdVar12 = (double *)0x0;" (assignment_expression "pdVar12 = (double *)0x0" identifier = (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "dVar18 = param_3[0x40] / (dVar18 * dVar19);" (assignment_expression "dVar18 = param_3[0x40] / (dVar18 * dVar19)" identifier = (binary_expression "param_3[0x40] / (dVar18 * dVar19)" (subscript_expression "param_3[0x40]" identifier [ number_literal ]) / (parenthesized_expression "(dVar18 * dVar19)" ( (binary_expression "dVar18 * dVar19" identifier * identifier) )))) ;) (expression_statement "piVar10 = piVar16;" (assignment_expression "piVar10 = piVar16" identifier = identifier) ;) (do_statement "do {\n      if ((piVar16[*piVar10 * 3 + 1] & 2U) != 0) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }\n      piVar10 = piVar10 + 3;\n    } while (piVar10 != piVar9);" do (compound_statement "{\n      if ((piVar16[*piVar10 * 3 + 1] & 2U) != 0) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }\n      piVar10 = piVar10 + 3;\n    }" { (if_statement "if ((piVar16[*piVar10 * 3 + 1] & 2U) != 0) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }" if (parenthesized_expression "((piVar16[*piVar10 * 3 + 1] & 2U) != 0)" ( (binary_expression "(piVar16[*piVar10 * 3 + 1] & 2U) != 0" (parenthesized_expression "(piVar16[*piVar10 * 3 + 1] & 2U)" ( (binary_expression "piVar16[*piVar10 * 3 + 1] & 2U" (subscript_expression "piVar16[*piVar10 * 3 + 1]" identifier [ (binary_expression "*piVar10 * 3 + 1" (binary_expression "*piVar10 * 3" (pointer_expression "*piVar10" * identifier) * number_literal) + number_literal) ]) & number_literal) )) != number_literal) )) (compound_statement "{\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }" { (expression_statement "pdVar12 = (double *)((int)pdVar12 + 1);" (assignment_expression "pdVar12 = (double *)((int)pdVar12 + 1)" identifier = (cast_expression "(double *)((int)pdVar12 + 1)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar12 + 1)" ( (binary_expression "(int)pdVar12 + 1" (cast_expression "(int)pdVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "piVar10 = piVar10 + 3;" (assignment_expression "piVar10 = piVar10 + 3" identifier = (binary_expression "piVar10 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar10 != piVar9)" ( (binary_expression "piVar10 != piVar9" identifier != identifier) )) ;) (if_statement "if (pdVar12 == (double *)0x0) goto LAB_00071a8c;" if (parenthesized_expression "(pdVar12 == (double *)0x0)" ( (binary_expression "pdVar12 == (double *)0x0" identifier == (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00071a8c;" goto statement_identifier ;)) (expression_statement "dVar19 = (double)(int)pdVar12;" (assignment_expression "dVar19 = (double)(int)pdVar12" identifier = (cast_expression "(double)(int)pdVar12" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)pdVar12" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((int)pdVar12 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" if (parenthesized_expression "((int)pdVar12 < 0)" ( (binary_expression "(int)pdVar12 < 0" (cast_expression "(int)pdVar12" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" { (expression_statement "dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);" (assignment_expression "dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" identifier = (binary_expression "dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" identifier + (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1418)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1418)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1418)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1418" identifier + number_literal) )))))) ;) })) }))) (expression_statement "puVar2 = PTR_DestroyKernelInfo_003a96a8;" (assignment_expression "puVar2 = PTR_DestroyKernelInfo_003a96a8" identifier = identifier) ;) (expression_statement "param_3[0x40] = dVar18 / dVar19;" (assignment_expression "param_3[0x40] = dVar18 / dVar19" (subscript_expression "param_3[0x40]" identifier [ number_literal ]) = (binary_expression "dVar18 / dVar19" identifier / identifier)) ;) (expression_statement "(*(code *)puVar2)(iVar3);" (call_expression "(*(code *)puVar2)(iVar3)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;) (labeled_statement "LAB_00071930:\n  if (local_3c == *(int *)puVar17) {\n    return uVar8;\n  }" statement_identifier : (if_statement "if (local_3c == *(int *)puVar17) {\n    return uVar8;\n  }" if (parenthesized_expression "(local_3c == *(int *)puVar17)" ( (binary_expression "local_3c == *(int *)puVar17" identifier == (pointer_expression "*(int *)puVar17" * (cast_expression "(int *)puVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return uVar8;\n  }" { (return_statement "return uVar8;" return identifier ;) }))) (expression_statement "puVar17 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar17 = 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 "uVar8 = FUN_0007157c();" (assignment_expression "uVar8 = FUN_0007157c()" identifier = (call_expression "FUN_0007157c()" identifier (argument_list "()" ( )))) ;) (expression_statement "dVar19 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1438);" (assignment_expression "dVar19 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1438)" identifier = (pointer_expression "*(double *)(*(int *)(puVar17 + 0x336d50) + 0x1438)" * (cast_expression "(double *)(*(int *)(puVar17 + 0x336d50) + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar17 + 0x336d50) + 0x1438)" ( (binary_expression "*(int *)(puVar17 + 0x336d50) + 0x1438" (pointer_expression "*(int *)(puVar17 + 0x336d50)" * (cast_expression "(int *)(puVar17 + 0x336d50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x336d50)" ( (binary_expression "puVar17 + 0x336d50" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar18 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1400);" (assignment_expression "dVar18 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1400)" identifier = (pointer_expression "*(double *)(*(int *)(puVar17 + 0x336d50) + 0x1400)" * (cast_expression "(double *)(*(int *)(puVar17 + 0x336d50) + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar17 + 0x336d50) + 0x1400)" ( (binary_expression "*(int *)(puVar17 + 0x336d50) + 0x1400" (pointer_expression "*(int *)(puVar17 + 0x336d50)" * (cast_expression "(int *)(puVar17 + 0x336d50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x336d50)" ( (binary_expression "puVar17 + 0x336d50" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "pdVar14 = pdVar12;" (assignment_expression "pdVar14 = pdVar12" identifier = identifier) ;) (do_statement "do {\n    pdVar15 = pdVar14 + 1;\n    *pdVar14 = (dVar19 - *pdVar14) * dVar18;\n    pdVar14 = pdVar15;\n  } while (pdVar15 != pdVar12 + 0x41);" do (compound_statement "{\n    pdVar15 = pdVar14 + 1;\n    *pdVar14 = (dVar19 - *pdVar14) * dVar18;\n    pdVar14 = pdVar15;\n  }" { (expression_statement "pdVar15 = pdVar14 + 1;" (assignment_expression "pdVar15 = pdVar14 + 1" identifier = (binary_expression "pdVar14 + 1" identifier + number_literal)) ;) (expression_statement "*pdVar14 = (dVar19 - *pdVar14) * dVar18;" (assignment_expression "*pdVar14 = (dVar19 - *pdVar14) * dVar18" (pointer_expression "*pdVar14" * identifier) = (binary_expression "(dVar19 - *pdVar14) * dVar18" (parenthesized_expression "(dVar19 - *pdVar14)" ( (binary_expression "dVar19 - *pdVar14" identifier - (pointer_expression "*pdVar14" * identifier)) )) * identifier)) ;) (expression_statement "pdVar14 = pdVar15;" (assignment_expression "pdVar14 = pdVar15" identifier = identifier) ;) }) while (parenthesized_expression "(pdVar15 != pdVar12 + 0x41)" ( (binary_expression "pdVar15 != pdVar12 + 0x41" identifier != (binary_expression "pdVar12 + 0x41" identifier + number_literal)) )) ;) (return_statement "return uVar8;" 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\nGetStructuralSimilarityDistortion\n          (Image *image,Image *reconstruct_image,double *distortion,ExceptionInfo *exception)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  Image *image_00;\n  int iVar3;\n  PixelInfo *pPVar4;\n  size_t sVar5;\n  size_t sVar7;\n  MagickBooleanType MVar8;\n  ExceptionInfo *pEVar9;\n  int extraout_v1;\n  double *extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  ExceptionInfo *pEVar10;\n  Image *reconstruct_image_00;\n  ClassType CVar11;\n  double *pdVar12;\n  ClassType CVar13;\n  double *pdVar14;\n  ExceptionInfo *exception_00;\n  undefined *puVar16;\n  double dVar17;\n  double dVar18;\n  undefined8 uVar19;\n  double local_1078;\n  double local_1070;\n  Image *local_1068;\n  Image *local_1064;\n  double *local_1060;\n  ExceptionInfo *local_105c;\n  size_t local_1058;\n  size_t local_1054;\n  PixelInfo *local_1050;\n  uint local_104c;\n  ClassType local_1048;\n  MagickBooleanType local_1044;\n  char geometry [4096];\n  uint uVar6;\n  double *pdVar15;\n  \n  puVar16 = PTR___stack_chk_guard_003a9230;\n  image_00 = *(Image **)PTR___stack_chk_guard_003a9230;\n  iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834);\n  if (iVar3 == 0) {\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }\n  else {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }\n  if (iVar3 != 0) {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n  }\n  (*(code *)PTR_FormatLocaleString_003a8d7c)\n            (geometry,0x1000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x380c);\n  pPVar4 = (PixelInfo *)(*(code *)PTR_AcquireKernelInfo_003a8fe4)(geometry,exception);\n  if (pPVar4 == (PixelInfo *)0x0) {\n    exception_00 = (ExceptionInfo *)0x581;\n    pdVar12 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc);\n    reconstruct_image_00 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4);\n    MVar8 = MagickFalse;\n    (*(code *)PTR_ThrowMagickException_003a8f20)(exception);\n    goto LAB_00071930;\n  }\n  iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc);\n  if (iVar3 == 0) {\n    dVar17 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538);\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar3 == 0) goto LAB_0007199c;\nLAB_000716d4:\n    dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    dVar18 = dVar18 * dVar18;\n  }\n  else {\n    dVar17 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    dVar17 = dVar17 * dVar17;\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar3 != 0) goto LAB_000716d4;\nLAB_0007199c:\n    dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);\n  }\n  CVar11 = image->rows;\n  if (image->rows <= reconstruct_image->rows) {\n    CVar11 = reconstruct_image->rows;\n  }\n  uVar6 = image->columns;\n  if (image->columns <= reconstruct_image->columns) {\n    uVar6 = reconstruct_image->columns;\n  }\n  sVar5 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(image,exception);\n  sVar7 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(reconstruct_image,exception);\n  iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image);\n  if (((iVar3 == 4) || (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar3 == 3))\n     && ((iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(reconstruct_image), iVar3 == 4 ||\n         (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(reconstruct_image), iVar3 == 3))))\n  {\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    CVar13 = CVar11;\n    if ((int)CVar11 < 0) {\n      CVar13 = CVar11 + 0x3f;\n    }\n    pdVar12 = (double *)((int)CVar13 >> 6);\n    if (extraout_v1 < (int)pdVar12) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_01 < 2;\n    }\n    else {\n      bVar1 = (int)CVar11 < 0x80;\n    }\n    if ((bool)(bVar1 ^ 1)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;\n    }\n    else {\n      pdVar12 = (double *)0x1;\n    }\n  }\n  else {\n    uVar19 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\n      uVar19 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }\n    }\n    uVar19 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\nLAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pdVar12 = extraout_v1_00;\n    }\n    else {\n      pdVar12 = (double *)0x2;\n    }\n  }\nLAB_000717a0:\n  exception_00 = (ExceptionInfo *)0x0;\n  reconstruct_image_00 = (Image *)&local_1078;\n  local_1044 = MagickTrue;\n  local_1078 = dVar17;\n  local_1070 = dVar18;\n  local_1068 = image;\n  local_1064 = reconstruct_image;\n  local_1060 = distortion;\n  local_105c = exception;\n  local_1058 = sVar5;\n  local_1054 = sVar7;\n  local_1050 = pPVar4;\n  local_104c = uVar6;\n  local_1048 = CVar11;\n  (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8938 + 0x3244);\n  MVar8 = local_1044;\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(sVar5);\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(sVar7);\n  sVar5 = image->number_channels;\n  if ((int)sVar5 < 1) {\n    dVar17 = (double)(int)CVar11;\n    if ((int)CVar11 < 0) {\n      dVar17 = dVar17 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar18 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar17 = distortion[0x40] / (dVar17 * dVar18);\nLAB_00071a8c:\n    dVar18 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n  }\n  else {\n    exception_00 = (ExceptionInfo *)image->channel_map;\n    dVar17 = (double)(int)CVar11;\n    if ((int)CVar11 < 0) {\n      dVar17 = dVar17 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar18 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    pEVar9 = exception_00;\n    pdVar12 = distortion;\n    do {\n      if (((&exception_00->error_number)[pEVar9->severity * 3] != UndefinedPixelTrait) &&\n         (((&exception_00->error_number)[pEVar9->severity * 3] & UpdatePixelTrait) !=\n          UndefinedPixelTrait)) {\n        *pdVar12 = *pdVar12 / (dVar17 * dVar18);\n      }\n      pEVar9 = (ExceptionInfo *)&pEVar9->description;\n      pdVar12 = pdVar12 + 1;\n    } while ((ExceptionInfo *)(&exception_00->severity + sVar5 * 3) != pEVar9);\n    pdVar12 = (double *)0x0;\n    dVar17 = distortion[0x40] / (dVar17 * dVar18);\n    pEVar10 = exception_00;\n    do {\n      reconstruct_image_00 = (Image *)pEVar10->severity;\n      if (((&exception_00->error_number)[(int)reconstruct_image_00 * 3] & UpdatePixelTrait) !=\n          UndefinedPixelTrait) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }\n      pEVar10 = (ExceptionInfo *)&pEVar10->description;\n    } while (pEVar10 != pEVar9);\n    if (pdVar12 == (double *)0x0) goto LAB_00071a8c;\n    dVar18 = (double)(int)pdVar12;\n    if ((int)pdVar12 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n  }\n  puVar2 = PTR_DestroyKernelInfo_003a96a8;\n  distortion[0x40] = dVar17 / dVar18;\n  (*(code *)puVar2)(pPVar4);\nLAB_00071930:\n  if (image_00 == *(Image **)puVar16) {\n    return MVar8;\n  }\n  puVar16 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  MVar8 = GetStructuralSimilarityDistortion(image_00,reconstruct_image_00,pdVar12,exception_00);\n  dVar18 = *(double *)(*(int *)(puVar16 + 0x336d50) + 0x1438);\n  dVar17 = *(double *)(*(int *)(puVar16 + 0x336d50) + 0x1400);\n  pdVar14 = pdVar12;\n  do {\n    pdVar15 = pdVar14 + 1;\n    *pdVar14 = (dVar18 - *pdVar14) * dVar17;\n    pdVar14 = pdVar15;\n  } while (pdVar15 != pdVar12 + 0x41);\n  return MVar8;\n}\n\n" comment comment comment comment comment (function_definition "MagickBooleanType\nGetStructuralSimilarityDistortion\n          (Image *image,Image *reconstruct_image,double *distortion,ExceptionInfo *exception)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  Image *image_00;\n  int iVar3;\n  PixelInfo *pPVar4;\n  size_t sVar5;\n  size_t sVar7;\n  MagickBooleanType MVar8;\n  ExceptionInfo *pEVar9;\n  int extraout_v1;\n  double *extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  ExceptionInfo *pEVar10;\n  Image *reconstruct_image_00;\n  ClassType CVar11;\n  double *pdVar12;\n  ClassType CVar13;\n  double *pdVar14;\n  ExceptionInfo *exception_00;\n  undefined *puVar16;\n  double dVar17;\n  double dVar18;\n  undefined8 uVar19;\n  double local_1078;\n  double local_1070;\n  Image *local_1068;\n  Image *local_1064;\n  double *local_1060;\n  ExceptionInfo *local_105c;\n  size_t local_1058;\n  size_t local_1054;\n  PixelInfo *local_1050;\n  uint local_104c;\n  ClassType local_1048;\n  MagickBooleanType local_1044;\n  char geometry [4096];\n  uint uVar6;\n  double *pdVar15;\n  \n  puVar16 = PTR___stack_chk_guard_003a9230;\n  image_00 = *(Image **)PTR___stack_chk_guard_003a9230;\n  iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834);\n  if (iVar3 == 0) {\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }\n  else {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }\n  if (iVar3 != 0) {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n  }\n  (*(code *)PTR_FormatLocaleString_003a8d7c)\n            (geometry,0x1000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x380c);\n  pPVar4 = (PixelInfo *)(*(code *)PTR_AcquireKernelInfo_003a8fe4)(geometry,exception);\n  if (pPVar4 == (PixelInfo *)0x0) {\n    exception_00 = (ExceptionInfo *)0x581;\n    pdVar12 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc);\n    reconstruct_image_00 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4);\n    MVar8 = MagickFalse;\n    (*(code *)PTR_ThrowMagickException_003a8f20)(exception);\n    goto LAB_00071930;\n  }\n  iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc);\n  if (iVar3 == 0) {\n    dVar17 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538);\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar3 == 0) goto LAB_0007199c;\nLAB_000716d4:\n    dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    dVar18 = dVar18 * dVar18;\n  }\n  else {\n    dVar17 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    dVar17 = dVar17 * dVar17;\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar3 != 0) goto LAB_000716d4;\nLAB_0007199c:\n    dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);\n  }\n  CVar11 = image->rows;\n  if (image->rows <= reconstruct_image->rows) {\n    CVar11 = reconstruct_image->rows;\n  }\n  uVar6 = image->columns;\n  if (image->columns <= reconstruct_image->columns) {\n    uVar6 = reconstruct_image->columns;\n  }\n  sVar5 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(image,exception);\n  sVar7 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(reconstruct_image,exception);\n  iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image);\n  if (((iVar3 == 4) || (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar3 == 3))\n     && ((iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(reconstruct_image), iVar3 == 4 ||\n         (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(reconstruct_image), iVar3 == 3))))\n  {\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    CVar13 = CVar11;\n    if ((int)CVar11 < 0) {\n      CVar13 = CVar11 + 0x3f;\n    }\n    pdVar12 = (double *)((int)CVar13 >> 6);\n    if (extraout_v1 < (int)pdVar12) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_01 < 2;\n    }\n    else {\n      bVar1 = (int)CVar11 < 0x80;\n    }\n    if ((bool)(bVar1 ^ 1)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;\n    }\n    else {\n      pdVar12 = (double *)0x1;\n    }\n  }\n  else {\n    uVar19 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\n      uVar19 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }\n    }\n    uVar19 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\nLAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pdVar12 = extraout_v1_00;\n    }\n    else {\n      pdVar12 = (double *)0x2;\n    }\n  }\nLAB_000717a0:\n  exception_00 = (ExceptionInfo *)0x0;\n  reconstruct_image_00 = (Image *)&local_1078;\n  local_1044 = MagickTrue;\n  local_1078 = dVar17;\n  local_1070 = dVar18;\n  local_1068 = image;\n  local_1064 = reconstruct_image;\n  local_1060 = distortion;\n  local_105c = exception;\n  local_1058 = sVar5;\n  local_1054 = sVar7;\n  local_1050 = pPVar4;\n  local_104c = uVar6;\n  local_1048 = CVar11;\n  (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8938 + 0x3244);\n  MVar8 = local_1044;\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(sVar5);\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(sVar7);\n  sVar5 = image->number_channels;\n  if ((int)sVar5 < 1) {\n    dVar17 = (double)(int)CVar11;\n    if ((int)CVar11 < 0) {\n      dVar17 = dVar17 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar18 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar17 = distortion[0x40] / (dVar17 * dVar18);\nLAB_00071a8c:\n    dVar18 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n  }\n  else {\n    exception_00 = (ExceptionInfo *)image->channel_map;\n    dVar17 = (double)(int)CVar11;\n    if ((int)CVar11 < 0) {\n      dVar17 = dVar17 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar18 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    pEVar9 = exception_00;\n    pdVar12 = distortion;\n    do {\n      if (((&exception_00->error_number)[pEVar9->severity * 3] != UndefinedPixelTrait) &&\n         (((&exception_00->error_number)[pEVar9->severity * 3] & UpdatePixelTrait) !=\n          UndefinedPixelTrait)) {\n        *pdVar12 = *pdVar12 / (dVar17 * dVar18);\n      }\n      pEVar9 = (ExceptionInfo *)&pEVar9->description;\n      pdVar12 = pdVar12 + 1;\n    } while ((ExceptionInfo *)(&exception_00->severity + sVar5 * 3) != pEVar9);\n    pdVar12 = (double *)0x0;\n    dVar17 = distortion[0x40] / (dVar17 * dVar18);\n    pEVar10 = exception_00;\n    do {\n      reconstruct_image_00 = (Image *)pEVar10->severity;\n      if (((&exception_00->error_number)[(int)reconstruct_image_00 * 3] & UpdatePixelTrait) !=\n          UndefinedPixelTrait) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }\n      pEVar10 = (ExceptionInfo *)&pEVar10->description;\n    } while (pEVar10 != pEVar9);\n    if (pdVar12 == (double *)0x0) goto LAB_00071a8c;\n    dVar18 = (double)(int)pdVar12;\n    if ((int)pdVar12 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n  }\n  puVar2 = PTR_DestroyKernelInfo_003a96a8;\n  distortion[0x40] = dVar17 / dVar18;\n  (*(code *)puVar2)(pPVar4);\nLAB_00071930:\n  if (image_00 == *(Image **)puVar16) {\n    return MVar8;\n  }\n  puVar16 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  MVar8 = GetStructuralSimilarityDistortion(image_00,reconstruct_image_00,pdVar12,exception_00);\n  dVar18 = *(double *)(*(int *)(puVar16 + 0x336d50) + 0x1438);\n  dVar17 = *(double *)(*(int *)(puVar16 + 0x336d50) + 0x1400);\n  pdVar14 = pdVar12;\n  do {\n    pdVar15 = pdVar14 + 1;\n    *pdVar14 = (dVar18 - *pdVar14) * dVar17;\n    pdVar14 = pdVar15;\n  } while (pdVar15 != pdVar12 + 0x41);\n  return MVar8;\n}" type_identifier (function_declarator "GetStructuralSimilarityDistortion\n          (Image *image,Image *reconstruct_image,double *distortion,ExceptionInfo *exception)" identifier (parameter_list "(Image *image,Image *reconstruct_image,double *distortion,ExceptionInfo *exception)" ( (parameter_declaration "Image *image" type_identifier (pointer_declarator "*image" * identifier)) , (parameter_declaration "Image *reconstruct_image" type_identifier (pointer_declarator "*reconstruct_image" * identifier)) , (parameter_declaration "double *distortion" primitive_type (pointer_declarator "*distortion" * identifier)) , (parameter_declaration "ExceptionInfo *exception" type_identifier (pointer_declarator "*exception" * identifier)) ))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  Image *image_00;\n  int iVar3;\n  PixelInfo *pPVar4;\n  size_t sVar5;\n  size_t sVar7;\n  MagickBooleanType MVar8;\n  ExceptionInfo *pEVar9;\n  int extraout_v1;\n  double *extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  ExceptionInfo *pEVar10;\n  Image *reconstruct_image_00;\n  ClassType CVar11;\n  double *pdVar12;\n  ClassType CVar13;\n  double *pdVar14;\n  ExceptionInfo *exception_00;\n  undefined *puVar16;\n  double dVar17;\n  double dVar18;\n  undefined8 uVar19;\n  double local_1078;\n  double local_1070;\n  Image *local_1068;\n  Image *local_1064;\n  double *local_1060;\n  ExceptionInfo *local_105c;\n  size_t local_1058;\n  size_t local_1054;\n  PixelInfo *local_1050;\n  uint local_104c;\n  ClassType local_1048;\n  MagickBooleanType local_1044;\n  char geometry [4096];\n  uint uVar6;\n  double *pdVar15;\n  \n  puVar16 = PTR___stack_chk_guard_003a9230;\n  image_00 = *(Image **)PTR___stack_chk_guard_003a9230;\n  iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834);\n  if (iVar3 == 0) {\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }\n  else {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }\n  if (iVar3 != 0) {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n  }\n  (*(code *)PTR_FormatLocaleString_003a8d7c)\n            (geometry,0x1000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x380c);\n  pPVar4 = (PixelInfo *)(*(code *)PTR_AcquireKernelInfo_003a8fe4)(geometry,exception);\n  if (pPVar4 == (PixelInfo *)0x0) {\n    exception_00 = (ExceptionInfo *)0x581;\n    pdVar12 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc);\n    reconstruct_image_00 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4);\n    MVar8 = MagickFalse;\n    (*(code *)PTR_ThrowMagickException_003a8f20)(exception);\n    goto LAB_00071930;\n  }\n  iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc);\n  if (iVar3 == 0) {\n    dVar17 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538);\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar3 == 0) goto LAB_0007199c;\nLAB_000716d4:\n    dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    dVar18 = dVar18 * dVar18;\n  }\n  else {\n    dVar17 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    dVar17 = dVar17 * dVar17;\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar3 != 0) goto LAB_000716d4;\nLAB_0007199c:\n    dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);\n  }\n  CVar11 = image->rows;\n  if (image->rows <= reconstruct_image->rows) {\n    CVar11 = reconstruct_image->rows;\n  }\n  uVar6 = image->columns;\n  if (image->columns <= reconstruct_image->columns) {\n    uVar6 = reconstruct_image->columns;\n  }\n  sVar5 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(image,exception);\n  sVar7 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(reconstruct_image,exception);\n  iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image);\n  if (((iVar3 == 4) || (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar3 == 3))\n     && ((iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(reconstruct_image), iVar3 == 4 ||\n         (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(reconstruct_image), iVar3 == 3))))\n  {\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    CVar13 = CVar11;\n    if ((int)CVar11 < 0) {\n      CVar13 = CVar11 + 0x3f;\n    }\n    pdVar12 = (double *)((int)CVar13 >> 6);\n    if (extraout_v1 < (int)pdVar12) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_01 < 2;\n    }\n    else {\n      bVar1 = (int)CVar11 < 0x80;\n    }\n    if ((bool)(bVar1 ^ 1)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;\n    }\n    else {\n      pdVar12 = (double *)0x1;\n    }\n  }\n  else {\n    uVar19 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\n      uVar19 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }\n    }\n    uVar19 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\nLAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pdVar12 = extraout_v1_00;\n    }\n    else {\n      pdVar12 = (double *)0x2;\n    }\n  }\nLAB_000717a0:\n  exception_00 = (ExceptionInfo *)0x0;\n  reconstruct_image_00 = (Image *)&local_1078;\n  local_1044 = MagickTrue;\n  local_1078 = dVar17;\n  local_1070 = dVar18;\n  local_1068 = image;\n  local_1064 = reconstruct_image;\n  local_1060 = distortion;\n  local_105c = exception;\n  local_1058 = sVar5;\n  local_1054 = sVar7;\n  local_1050 = pPVar4;\n  local_104c = uVar6;\n  local_1048 = CVar11;\n  (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8938 + 0x3244);\n  MVar8 = local_1044;\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(sVar5);\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(sVar7);\n  sVar5 = image->number_channels;\n  if ((int)sVar5 < 1) {\n    dVar17 = (double)(int)CVar11;\n    if ((int)CVar11 < 0) {\n      dVar17 = dVar17 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar18 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar17 = distortion[0x40] / (dVar17 * dVar18);\nLAB_00071a8c:\n    dVar18 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n  }\n  else {\n    exception_00 = (ExceptionInfo *)image->channel_map;\n    dVar17 = (double)(int)CVar11;\n    if ((int)CVar11 < 0) {\n      dVar17 = dVar17 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar18 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    pEVar9 = exception_00;\n    pdVar12 = distortion;\n    do {\n      if (((&exception_00->error_number)[pEVar9->severity * 3] != UndefinedPixelTrait) &&\n         (((&exception_00->error_number)[pEVar9->severity * 3] & UpdatePixelTrait) !=\n          UndefinedPixelTrait)) {\n        *pdVar12 = *pdVar12 / (dVar17 * dVar18);\n      }\n      pEVar9 = (ExceptionInfo *)&pEVar9->description;\n      pdVar12 = pdVar12 + 1;\n    } while ((ExceptionInfo *)(&exception_00->severity + sVar5 * 3) != pEVar9);\n    pdVar12 = (double *)0x0;\n    dVar17 = distortion[0x40] / (dVar17 * dVar18);\n    pEVar10 = exception_00;\n    do {\n      reconstruct_image_00 = (Image *)pEVar10->severity;\n      if (((&exception_00->error_number)[(int)reconstruct_image_00 * 3] & UpdatePixelTrait) !=\n          UndefinedPixelTrait) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }\n      pEVar10 = (ExceptionInfo *)&pEVar10->description;\n    } while (pEVar10 != pEVar9);\n    if (pdVar12 == (double *)0x0) goto LAB_00071a8c;\n    dVar18 = (double)(int)pdVar12;\n    if ((int)pdVar12 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n  }\n  puVar2 = PTR_DestroyKernelInfo_003a96a8;\n  distortion[0x40] = dVar17 / dVar18;\n  (*(code *)puVar2)(pPVar4);\nLAB_00071930:\n  if (image_00 == *(Image **)puVar16) {\n    return MVar8;\n  }\n  puVar16 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  MVar8 = GetStructuralSimilarityDistortion(image_00,reconstruct_image_00,pdVar12,exception_00);\n  dVar18 = *(double *)(*(int *)(puVar16 + 0x336d50) + 0x1438);\n  dVar17 = *(double *)(*(int *)(puVar16 + 0x336d50) + 0x1400);\n  pdVar14 = pdVar12;\n  do {\n    pdVar15 = pdVar14 + 1;\n    *pdVar14 = (dVar18 - *pdVar14) * dVar17;\n    pdVar14 = pdVar15;\n  } while (pdVar15 != pdVar12 + 0x41);\n  return MVar8;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "Image *image_00;" type_identifier (pointer_declarator "*image_00" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "PixelInfo *pPVar4;" type_identifier (pointer_declarator "*pPVar4" * identifier) ;) (declaration "size_t sVar5;" primitive_type identifier ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "MagickBooleanType MVar8;" type_identifier identifier ;) (declaration "ExceptionInfo *pEVar9;" type_identifier (pointer_declarator "*pEVar9" * identifier) ;) (declaration "int extraout_v1;" primitive_type identifier ;) (declaration "double *extraout_v1_00;" primitive_type (pointer_declarator "*extraout_v1_00" * identifier) ;) (declaration "int extraout_v1_01;" primitive_type identifier ;) (declaration "int extraout_v1_02;" primitive_type identifier ;) (declaration "ExceptionInfo *pEVar10;" type_identifier (pointer_declarator "*pEVar10" * identifier) ;) (declaration "Image *reconstruct_image_00;" type_identifier (pointer_declarator "*reconstruct_image_00" * identifier) ;) (declaration "ClassType CVar11;" type_identifier identifier ;) (declaration "double *pdVar12;" primitive_type (pointer_declarator "*pdVar12" * identifier) ;) (declaration "ClassType CVar13;" type_identifier identifier ;) (declaration "double *pdVar14;" primitive_type (pointer_declarator "*pdVar14" * identifier) ;) (declaration "ExceptionInfo *exception_00;" type_identifier (pointer_declarator "*exception_00" * identifier) ;) (declaration "undefined *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "double dVar17;" primitive_type identifier ;) (declaration "double dVar18;" primitive_type identifier ;) (declaration "undefined8 uVar19;" type_identifier identifier ;) (declaration "double local_1078;" primitive_type identifier ;) (declaration "double local_1070;" primitive_type identifier ;) (declaration "Image *local_1068;" type_identifier (pointer_declarator "*local_1068" * identifier) ;) (declaration "Image *local_1064;" type_identifier (pointer_declarator "*local_1064" * identifier) ;) (declaration "double *local_1060;" primitive_type (pointer_declarator "*local_1060" * identifier) ;) (declaration "ExceptionInfo *local_105c;" type_identifier (pointer_declarator "*local_105c" * identifier) ;) (declaration "size_t local_1058;" primitive_type identifier ;) (declaration "size_t local_1054;" primitive_type identifier ;) (declaration "PixelInfo *local_1050;" type_identifier (pointer_declarator "*local_1050" * identifier) ;) (declaration "uint local_104c;" type_identifier identifier ;) (declaration "ClassType local_1048;" type_identifier identifier ;) (declaration "MagickBooleanType local_1044;" type_identifier identifier ;) (declaration "char geometry [4096];" primitive_type (array_declarator "geometry [4096]" identifier [ number_literal ]) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "double *pdVar15;" primitive_type (pointer_declarator "*pdVar15" * identifier) ;) (expression_statement "puVar16 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar16 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "image_00 = *(Image **)PTR___stack_chk_guard_003a9230;" (assignment_expression "image_00 = *(Image **)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(Image **)PTR___stack_chk_guard_003a9230" * (cast_expression "(Image **)PTR___stack_chk_guard_003a9230" ( (type_descriptor "Image **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834);" (assignment_expression "iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834)" identifier = (call_expression "(*(code *)PTR_GetImageArtifact_003a94c0)\n                    (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834)" (parenthesized_expression "(*(code *)PTR_GetImageArtifact_003a94c0)" ( (pointer_expression "*(code *)PTR_GetImageArtifact_003a94c0" * (cast_expression "(code *)PTR_GetImageArtifact_003a94c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834)" ( identifier , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834" identifier + number_literal) )))) ;) (if_statement "if (iVar3 == 0) {\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }\n  else {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }" { (expression_statement "iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);" (assignment_expression "iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820)" identifier = (call_expression "(*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820)" (parenthesized_expression "(*(code *)PTR_GetImageArtifact_003a94c0)" ( (pointer_expression "*(code *)PTR_GetImageArtifact_003a94c0" * (cast_expression "(code *)PTR_GetImageArtifact_003a94c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820)" ( identifier , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820" identifier + number_literal) )))) ;) }) (else_clause "else {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }" else (compound_statement "{\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }" { (expression_statement "(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);" (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0)" (parenthesized_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)" ( (pointer_expression "*(code *)PTR_InterpretLocaleValue_003a9768" * (cast_expression "(code *)PTR_InterpretLocaleValue_003a9768" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,0)" ( identifier , number_literal ))) ;) (expression_statement "iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);" (assignment_expression "iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820)" identifier = (call_expression "(*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820)" (parenthesized_expression "(*(code *)PTR_GetImageArtifact_003a94c0)" ( (pointer_expression "*(code *)PTR_GetImageArtifact_003a94c0" * (cast_expression "(code *)PTR_GetImageArtifact_003a94c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820)" ( identifier , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820" identifier + number_literal) )))) ;) }))) (if_statement "if (iVar3 != 0) {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n  }" { (expression_statement "(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);" (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0)" (parenthesized_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)" ( (pointer_expression "*(code *)PTR_InterpretLocaleValue_003a9768" * (cast_expression "(code *)PTR_InterpretLocaleValue_003a9768" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,0)" ( identifier , number_literal ))) ;) })) (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)\n            (geometry,0x1000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x380c);" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)\n            (geometry,0x1000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x380c)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003a8d7c" * (cast_expression "(code *)PTR_FormatLocaleString_003a8d7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(geometry,0x1000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x380c)" ( identifier , number_literal , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x380c" identifier + number_literal) ))) ;) (expression_statement "pPVar4 = (PixelInfo *)(*(code *)PTR_AcquireKernelInfo_003a8fe4)(geometry,exception);" (assignment_expression "pPVar4 = (PixelInfo *)(*(code *)PTR_AcquireKernelInfo_003a8fe4)(geometry,exception)" identifier = (cast_expression "(PixelInfo *)(*(code *)PTR_AcquireKernelInfo_003a8fe4)(geometry,exception)" ( (type_descriptor "PixelInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_AcquireKernelInfo_003a8fe4)(geometry,exception)" (parenthesized_expression "(*(code *)PTR_AcquireKernelInfo_003a8fe4)" ( (pointer_expression "*(code *)PTR_AcquireKernelInfo_003a8fe4" * (cast_expression "(code *)PTR_AcquireKernelInfo_003a8fe4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(geometry,exception)" ( identifier , identifier ))))) ;) (if_statement "if (pPVar4 == (PixelInfo *)0x0) {\n    exception_00 = (ExceptionInfo *)0x581;\n    pdVar12 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc);\n    reconstruct_image_00 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4);\n    MVar8 = MagickFalse;\n    (*(code *)PTR_ThrowMagickException_003a8f20)(exception);\n    goto LAB_00071930;\n  }" if (parenthesized_expression "(pPVar4 == (PixelInfo *)0x0)" ( (binary_expression "pPVar4 == (PixelInfo *)0x0" identifier == (cast_expression "(PixelInfo *)0x0" ( (type_descriptor "PixelInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    exception_00 = (ExceptionInfo *)0x581;\n    pdVar12 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc);\n    reconstruct_image_00 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4);\n    MVar8 = MagickFalse;\n    (*(code *)PTR_ThrowMagickException_003a8f20)(exception);\n    goto LAB_00071930;\n  }" { (expression_statement "exception_00 = (ExceptionInfo *)0x581;" (assignment_expression "exception_00 = (ExceptionInfo *)0x581" identifier = (cast_expression "(ExceptionInfo *)0x581" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pdVar12 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc);" (assignment_expression "pdVar12 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc)" identifier = (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc" identifier + number_literal) )))) ;) (expression_statement "reconstruct_image_00 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4);" (assignment_expression "reconstruct_image_00 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4)" identifier = (cast_expression "(Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4" identifier + number_literal) )))) ;) (expression_statement "MVar8 = MagickFalse;" (assignment_expression "MVar8 = MagickFalse" identifier = identifier) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)(exception);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)(exception)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" ( (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" * (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(exception)" ( identifier ))) ;) (goto_statement "goto LAB_00071930;" goto statement_identifier ;) })) (expression_statement "iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc);" (assignment_expression "iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc)" identifier = (call_expression "(*(code *)PTR_GetImageArtifact_003a94c0)\n                    (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc)" (parenthesized_expression "(*(code *)PTR_GetImageArtifact_003a94c0)" ( (pointer_expression "*(code *)PTR_GetImageArtifact_003a94c0" * (cast_expression "(code *)PTR_GetImageArtifact_003a94c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc)" ( identifier , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc" identifier + number_literal) )))) ;) (if_statement "if (iVar3 == 0) {\n    dVar17 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538);\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar3 == 0) goto LAB_0007199c;\nLAB_000716d4:\n    dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    dVar18 = dVar18 * dVar18;\n  }\n  else {\n    dVar17 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    dVar17 = dVar17 * dVar17;\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar3 != 0) goto LAB_000716d4;\nLAB_0007199c:\n    dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    dVar17 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538);\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar3 == 0) goto LAB_0007199c;\nLAB_000716d4:\n    dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    dVar18 = dVar18 * dVar18;\n  }" { (expression_statement "dVar17 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538);" (assignment_expression "dVar17 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538)" identifier = (pointer_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538)" * (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);" (assignment_expression "iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc)" identifier = (call_expression "(*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc)" (parenthesized_expression "(*(code *)PTR_GetImageArtifact_003a94c0)" ( (pointer_expression "*(code *)PTR_GetImageArtifact_003a94c0" * (cast_expression "(code *)PTR_GetImageArtifact_003a94c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc)" ( identifier , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc" identifier + number_literal) )))) ;) (if_statement "if (iVar3 == 0) goto LAB_0007199c;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0007199c;" goto statement_identifier ;)) (labeled_statement "LAB_000716d4:\n    dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);" statement_identifier : (expression_statement "dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);" (assignment_expression "dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0)" identifier = (cast_expression "(double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0)" (parenthesized_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)" ( (pointer_expression "*(code *)PTR_InterpretLocaleValue_003a9768" * (cast_expression "(code *)PTR_InterpretLocaleValue_003a9768" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,0)" ( identifier , number_literal ))))) ;)) (expression_statement "dVar18 = dVar18 * dVar18;" (assignment_expression "dVar18 = dVar18 * dVar18" identifier = (binary_expression "dVar18 * dVar18" identifier * identifier)) ;) }) (else_clause "else {\n    dVar17 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    dVar17 = dVar17 * dVar17;\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar3 != 0) goto LAB_000716d4;\nLAB_0007199c:\n    dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);\n  }" else (compound_statement "{\n    dVar17 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    dVar17 = dVar17 * dVar17;\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar3 != 0) goto LAB_000716d4;\nLAB_0007199c:\n    dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);\n  }" { (expression_statement "dVar17 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);" (assignment_expression "dVar17 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0)" identifier = (cast_expression "(double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0)" (parenthesized_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)" ( (pointer_expression "*(code *)PTR_InterpretLocaleValue_003a9768" * (cast_expression "(code *)PTR_InterpretLocaleValue_003a9768" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,0)" ( identifier , number_literal ))))) ;) (expression_statement "dVar17 = dVar17 * dVar17;" (assignment_expression "dVar17 = dVar17 * dVar17" identifier = (binary_expression "dVar17 * dVar17" identifier * identifier)) ;) (expression_statement "iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);" (assignment_expression "iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc)" identifier = (call_expression "(*(code *)PTR_GetImageArtifact_003a94c0)\n                      (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc)" (parenthesized_expression "(*(code *)PTR_GetImageArtifact_003a94c0)" ( (pointer_expression "*(code *)PTR_GetImageArtifact_003a94c0" * (cast_expression "(code *)PTR_GetImageArtifact_003a94c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc)" ( identifier , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc" identifier + number_literal) )))) ;) (if_statement "if (iVar3 != 0) goto LAB_000716d4;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000716d4;" goto statement_identifier ;)) (labeled_statement "LAB_0007199c:\n    dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);" statement_identifier : (expression_statement "dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);" (assignment_expression "dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530)" identifier = (pointer_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530)" * (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530" identifier + number_literal) ))))) ;)) }))) (expression_statement "CVar11 = image->rows;" (assignment_expression "CVar11 = image->rows" identifier = (field_expression "image->rows" identifier -> field_identifier)) ;) (if_statement "if (image->rows <= reconstruct_image->rows) {\n    CVar11 = reconstruct_image->rows;\n  }" if (parenthesized_expression "(image->rows <= reconstruct_image->rows)" ( (binary_expression "image->rows <= reconstruct_image->rows" (field_expression "image->rows" identifier -> field_identifier) <= (field_expression "reconstruct_image->rows" identifier -> field_identifier)) )) (compound_statement "{\n    CVar11 = reconstruct_image->rows;\n  }" { (expression_statement "CVar11 = reconstruct_image->rows;" (assignment_expression "CVar11 = reconstruct_image->rows" identifier = (field_expression "reconstruct_image->rows" identifier -> field_identifier)) ;) })) (expression_statement "uVar6 = image->columns;" (assignment_expression "uVar6 = image->columns" identifier = (field_expression "image->columns" identifier -> field_identifier)) ;) (if_statement "if (image->columns <= reconstruct_image->columns) {\n    uVar6 = reconstruct_image->columns;\n  }" if (parenthesized_expression "(image->columns <= reconstruct_image->columns)" ( (binary_expression "image->columns <= reconstruct_image->columns" (field_expression "image->columns" identifier -> field_identifier) <= (field_expression "reconstruct_image->columns" identifier -> field_identifier)) )) (compound_statement "{\n    uVar6 = reconstruct_image->columns;\n  }" { (expression_statement "uVar6 = reconstruct_image->columns;" (assignment_expression "uVar6 = reconstruct_image->columns" identifier = (field_expression "reconstruct_image->columns" identifier -> field_identifier)) ;) })) (expression_statement "sVar5 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(image,exception);" (assignment_expression "sVar5 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(image,exception)" identifier = (call_expression "(*(code *)PTR_AcquireVirtualCacheView_003a9754)(image,exception)" (parenthesized_expression "(*(code *)PTR_AcquireVirtualCacheView_003a9754)" ( (pointer_expression "*(code *)PTR_AcquireVirtualCacheView_003a9754" * (cast_expression "(code *)PTR_AcquireVirtualCacheView_003a9754" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image,exception)" ( identifier , identifier )))) ;) (expression_statement "sVar7 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(reconstruct_image,exception);" (assignment_expression "sVar7 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(reconstruct_image,exception)" identifier = (call_expression "(*(code *)PTR_AcquireVirtualCacheView_003a9754)(reconstruct_image,exception)" (parenthesized_expression "(*(code *)PTR_AcquireVirtualCacheView_003a9754)" ( (pointer_expression "*(code *)PTR_AcquireVirtualCacheView_003a9754" * (cast_expression "(code *)PTR_AcquireVirtualCacheView_003a9754" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(reconstruct_image,exception)" ( identifier , identifier )))) ;) (expression_statement "iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image);" (assignment_expression "iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(image)" (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 "(image)" ( identifier )))) ;) (if_statement "if (((iVar3 == 4) || (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar3 == 3))\n     && ((iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(reconstruct_image), iVar3 == 4 ||\n         (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(reconstruct_image), iVar3 == 3))))\n  {\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    CVar13 = CVar11;\n    if ((int)CVar11 < 0) {\n      CVar13 = CVar11 + 0x3f;\n    }\n    pdVar12 = (double *)((int)CVar13 >> 6);\n    if (extraout_v1 < (int)pdVar12) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_01 < 2;\n    }\n    else {\n      bVar1 = (int)CVar11 < 0x80;\n    }\n    if ((bool)(bVar1 ^ 1)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;\n    }\n    else {\n      pdVar12 = (double *)0x1;\n    }\n  }\n  else {\n    uVar19 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\n      uVar19 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }\n    }\n    uVar19 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\nLAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pdVar12 = extraout_v1_00;\n    }\n    else {\n      pdVar12 = (double *)0x2;\n    }\n  }" if (parenthesized_expression "(((iVar3 == 4) || (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar3 == 3))\n     && ((iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(reconstruct_image), iVar3 == 4 ||\n         (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(reconstruct_image), iVar3 == 3))))" ( (binary_expression "((iVar3 == 4) || (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar3 == 3))\n     && ((iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(reconstruct_image), iVar3 == 4 ||\n         (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(reconstruct_image), iVar3 == 3)))" (parenthesized_expression "((iVar3 == 4) || (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar3 == 3))" ( (binary_expression "(iVar3 == 4) || (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar3 == 3)" (parenthesized_expression "(iVar3 == 4)" ( (binary_expression "iVar3 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar3 == 3)" ( (comma_expression "iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar3 == 3" (assignment_expression "iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(image)" (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 "(image)" ( identifier )))) , (binary_expression "iVar3 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(reconstruct_image), iVar3 == 4 ||\n         (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(reconstruct_image), iVar3 == 3)))" ( (parenthesized_expression "(iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(reconstruct_image), iVar3 == 4 ||\n         (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(reconstruct_image), iVar3 == 3))" ( (comma_expression "iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(reconstruct_image), iVar3 == 4 ||\n         (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(reconstruct_image), iVar3 == 3)" (assignment_expression "iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(reconstruct_image)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(reconstruct_image)" (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 "(reconstruct_image)" ( identifier )))) , (binary_expression "iVar3 == 4 ||\n         (iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(reconstruct_image), iVar3 == 3)" (binary_expression "iVar3 == 4" identifier == number_literal) || (parenthesized_expression "(iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(reconstruct_image), iVar3 == 3)" ( (comma_expression "iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(reconstruct_image), iVar3 == 3" (assignment_expression "iVar3 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(reconstruct_image)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(reconstruct_image)" (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 "(reconstruct_image)" ( identifier )))) , (binary_expression "iVar3 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    CVar13 = CVar11;\n    if ((int)CVar11 < 0) {\n      CVar13 = CVar11 + 0x3f;\n    }\n    pdVar12 = (double *)((int)CVar13 >> 6);\n    if (extraout_v1 < (int)pdVar12) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_01 < 2;\n    }\n    else {\n      bVar1 = (int)CVar11 < 0x80;\n    }\n    if ((bool)(bVar1 ^ 1)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;\n    }\n    else {\n      pdVar12 = (double *)0x1;\n    }\n  }" { (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "CVar13 = CVar11;" (assignment_expression "CVar13 = CVar11" identifier = identifier) ;) (if_statement "if ((int)CVar11 < 0) {\n      CVar13 = CVar11 + 0x3f;\n    }" if (parenthesized_expression "((int)CVar11 < 0)" ( (binary_expression "(int)CVar11 < 0" (cast_expression "(int)CVar11" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      CVar13 = CVar11 + 0x3f;\n    }" { (expression_statement "CVar13 = CVar11 + 0x3f;" (assignment_expression "CVar13 = CVar11 + 0x3f" identifier = (binary_expression "CVar11 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "pdVar12 = (double *)((int)CVar13 >> 6);" (assignment_expression "pdVar12 = (double *)((int)CVar13 >> 6)" identifier = (cast_expression "(double *)((int)CVar13 >> 6)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)CVar13 >> 6)" ( (binary_expression "(int)CVar13 >> 6" (cast_expression "(int)CVar13" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (if_statement "if (extraout_v1 < (int)pdVar12) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_01 < 2;\n    }\n    else {\n      bVar1 = (int)CVar11 < 0x80;\n    }" if (parenthesized_expression "(extraout_v1 < (int)pdVar12)" ( (binary_expression "extraout_v1 < (int)pdVar12" identifier < (cast_expression "(int)pdVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_01 < 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_01 < 2;" (assignment_expression "bVar1 = extraout_v1_01 < 2" identifier = (binary_expression "extraout_v1_01 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n      bVar1 = (int)CVar11 < 0x80;\n    }" else (compound_statement "{\n      bVar1 = (int)CVar11 < 0x80;\n    }" { (expression_statement "bVar1 = (int)CVar11 < 0x80;" (assignment_expression "bVar1 = (int)CVar11 < 0x80" identifier = (binary_expression "(int)CVar11 < 0x80" (cast_expression "(int)CVar11" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) ;) }))) (if_statement "if ((bool)(bVar1 ^ 1)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;\n    }\n    else {\n      pdVar12 = (double *)0x1;\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 *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;\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 ))) ;) (if_statement "if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;" if (parenthesized_expression "(extraout_v1_02 < (int)pdVar12)" ( (binary_expression "extraout_v1_02 < (int)pdVar12" identifier < (cast_expression "(int)pdVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00071af4;" goto statement_identifier ;)) }) (else_clause "else {\n      pdVar12 = (double *)0x1;\n    }" else (compound_statement "{\n      pdVar12 = (double *)0x1;\n    }" { (expression_statement "pdVar12 = (double *)0x1;" (assignment_expression "pdVar12 = (double *)0x1" identifier = (cast_expression "(double *)0x1" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }) (else_clause "else {\n    uVar19 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\n      uVar19 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }\n    }\n    uVar19 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\nLAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pdVar12 = extraout_v1_00;\n    }\n    else {\n      pdVar12 = (double *)0x2;\n    }\n  }" else (compound_statement "{\n    uVar19 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\n      uVar19 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }\n    }\n    uVar19 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\nLAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pdVar12 = extraout_v1_00;\n    }\n    else {\n      pdVar12 = (double *)0x2;\n    }\n  }" { (expression_statement "uVar19 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar19 = (*(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)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\n      uVar19 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }\n    }" if (parenthesized_expression "(((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2))" ( (binary_expression "((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)" (parenthesized_expression "((int)((ulonglong)uVar19 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar19 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar19 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar19 >> 0x20)" ( (binary_expression "(ulonglong)uVar19 >> 0x20" (cast_expression "(ulonglong)uVar19" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar19 < 2)" ( (binary_expression "(uint)uVar19 < 2" (cast_expression "(uint)uVar19" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n      uVar19 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }\n    }" { (expression_statement "uVar19 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar19 = (*(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)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2))" ( (binary_expression "((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)" (parenthesized_expression "((int)((ulonglong)uVar19 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar19 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar19 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar19 >> 0x20)" ( (binary_expression "(ulonglong)uVar19 >> 0x20" (cast_expression "(ulonglong)uVar19" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar19 < 2)" ( (binary_expression "(uint)uVar19 < 2" (cast_expression "(uint)uVar19" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }" { (expression_statement "pdVar12 = (double *)0x1;" (assignment_expression "pdVar12 = (double *)0x1" identifier = (cast_expression "(double *)0x1" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000717a0;" goto statement_identifier ;) })) })) (expression_statement "uVar19 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar19 = (*(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)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\nLAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pdVar12 = extraout_v1_00;\n    }\n    else {\n      pdVar12 = (double *)0x2;\n    }" if (parenthesized_expression "(((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2))" ( (binary_expression "((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)" (parenthesized_expression "((int)((ulonglong)uVar19 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar19 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar19 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar19 >> 0x20)" ( (binary_expression "(ulonglong)uVar19 >> 0x20" (cast_expression "(ulonglong)uVar19" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar19 < 2)" ( (binary_expression "(uint)uVar19 < 2" (cast_expression "(uint)uVar19" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\nLAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pdVar12 = extraout_v1_00;\n    }" { (labeled_statement "LAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" statement_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 "pdVar12 = extraout_v1_00;" (assignment_expression "pdVar12 = extraout_v1_00" identifier = identifier) ;) }) (else_clause "else {\n      pdVar12 = (double *)0x2;\n    }" else (compound_statement "{\n      pdVar12 = (double *)0x2;\n    }" { (expression_statement "pdVar12 = (double *)0x2;" (assignment_expression "pdVar12 = (double *)0x2" identifier = (cast_expression "(double *)0x2" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }))) (labeled_statement "LAB_000717a0:\n  exception_00 = (ExceptionInfo *)0x0;" statement_identifier : (expression_statement "exception_00 = (ExceptionInfo *)0x0;" (assignment_expression "exception_00 = (ExceptionInfo *)0x0" identifier = (cast_expression "(ExceptionInfo *)0x0" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "reconstruct_image_00 = (Image *)&local_1078;" (assignment_expression "reconstruct_image_00 = (Image *)&local_1078" identifier = (cast_expression "(Image *)&local_1078" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_1078" & identifier))) ;) (expression_statement "local_1044 = MagickTrue;" (assignment_expression "local_1044 = MagickTrue" identifier = identifier) ;) (expression_statement "local_1078 = dVar17;" (assignment_expression "local_1078 = dVar17" identifier = identifier) ;) (expression_statement "local_1070 = dVar18;" (assignment_expression "local_1070 = dVar18" identifier = identifier) ;) (expression_statement "local_1068 = image;" (assignment_expression "local_1068 = image" identifier = identifier) ;) (expression_statement "local_1064 = reconstruct_image;" (assignment_expression "local_1064 = reconstruct_image" identifier = identifier) ;) (expression_statement "local_1060 = distortion;" (assignment_expression "local_1060 = distortion" identifier = identifier) ;) (expression_statement "local_105c = exception;" (assignment_expression "local_105c = exception" identifier = identifier) ;) (expression_statement "local_1058 = sVar5;" (assignment_expression "local_1058 = sVar5" identifier = identifier) ;) (expression_statement "local_1054 = sVar7;" (assignment_expression "local_1054 = sVar7" identifier = identifier) ;) (expression_statement "local_1050 = pPVar4;" (assignment_expression "local_1050 = pPVar4" identifier = identifier) ;) (expression_statement "local_104c = uVar6;" (assignment_expression "local_104c = uVar6" identifier = identifier) ;) (expression_statement "local_1048 = CVar11;" (assignment_expression "local_1048 = CVar11" identifier = identifier) ;) (expression_statement "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8938 + 0x3244);" (call_expression "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8938 + 0x3244)" (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_003a8938 + 0x3244)" ( (binary_expression "PTR_LAB_003a8938 + 0x3244" identifier + number_literal) ))) ;) (expression_statement "MVar8 = local_1044;" (assignment_expression "MVar8 = local_1044" identifier = identifier) ;) (expression_statement "(*(code *)PTR_DestroyCacheView_003a8ef4)(sVar5);" (call_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)(sVar5)" (parenthesized_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)" ( (pointer_expression "*(code *)PTR_DestroyCacheView_003a8ef4" * (cast_expression "(code *)PTR_DestroyCacheView_003a8ef4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(sVar5)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_DestroyCacheView_003a8ef4)(sVar7);" (call_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)(sVar7)" (parenthesized_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)" ( (pointer_expression "*(code *)PTR_DestroyCacheView_003a8ef4" * (cast_expression "(code *)PTR_DestroyCacheView_003a8ef4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(sVar7)" ( identifier ))) ;) (expression_statement "sVar5 = image->number_channels;" (assignment_expression "sVar5 = image->number_channels" identifier = (field_expression "image->number_channels" identifier -> field_identifier)) ;) (if_statement "if ((int)sVar5 < 1) {\n    dVar17 = (double)(int)CVar11;\n    if ((int)CVar11 < 0) {\n      dVar17 = dVar17 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar18 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar17 = distortion[0x40] / (dVar17 * dVar18);\nLAB_00071a8c:\n    dVar18 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n  }\n  else {\n    exception_00 = (ExceptionInfo *)image->channel_map;\n    dVar17 = (double)(int)CVar11;\n    if ((int)CVar11 < 0) {\n      dVar17 = dVar17 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar18 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    pEVar9 = exception_00;\n    pdVar12 = distortion;\n    do {\n      if (((&exception_00->error_number)[pEVar9->severity * 3] != UndefinedPixelTrait) &&\n         (((&exception_00->error_number)[pEVar9->severity * 3] & UpdatePixelTrait) !=\n          UndefinedPixelTrait)) {\n        *pdVar12 = *pdVar12 / (dVar17 * dVar18);\n      }\n      pEVar9 = (ExceptionInfo *)&pEVar9->description;\n      pdVar12 = pdVar12 + 1;\n    } while ((ExceptionInfo *)(&exception_00->severity + sVar5 * 3) != pEVar9);\n    pdVar12 = (double *)0x0;\n    dVar17 = distortion[0x40] / (dVar17 * dVar18);\n    pEVar10 = exception_00;\n    do {\n      reconstruct_image_00 = (Image *)pEVar10->severity;\n      if (((&exception_00->error_number)[(int)reconstruct_image_00 * 3] & UpdatePixelTrait) !=\n          UndefinedPixelTrait) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }\n      pEVar10 = (ExceptionInfo *)&pEVar10->description;\n    } while (pEVar10 != pEVar9);\n    if (pdVar12 == (double *)0x0) goto LAB_00071a8c;\n    dVar18 = (double)(int)pdVar12;\n    if ((int)pdVar12 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n  }" if (parenthesized_expression "((int)sVar5 < 1)" ( (binary_expression "(int)sVar5 < 1" (cast_expression "(int)sVar5" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    dVar17 = (double)(int)CVar11;\n    if ((int)CVar11 < 0) {\n      dVar17 = dVar17 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar18 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar17 = distortion[0x40] / (dVar17 * dVar18);\nLAB_00071a8c:\n    dVar18 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n  }" { (expression_statement "dVar17 = (double)(int)CVar11;" (assignment_expression "dVar17 = (double)(int)CVar11" identifier = (cast_expression "(double)(int)CVar11" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)CVar11" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((int)CVar11 < 0) {\n      dVar17 = dVar17 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" if (parenthesized_expression "((int)CVar11 < 0)" ( (binary_expression "(int)CVar11 < 0" (cast_expression "(int)CVar11" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      dVar17 = dVar17 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" { (expression_statement "dVar17 = dVar17 + *(double *)(PTR_LAB_003a88e0 + 0x1418);" (assignment_expression "dVar17 = dVar17 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" identifier = (binary_expression "dVar17 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" identifier + (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1418)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1418)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1418)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1418" identifier + number_literal) )))))) ;) })) (expression_statement "dVar18 = (double)(int)uVar6;" (assignment_expression "dVar18 = (double)(int)uVar6" identifier = (cast_expression "(double)(int)uVar6" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((int)uVar6 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" if (parenthesized_expression "((int)uVar6 < 0)" ( (binary_expression "(int)uVar6 < 0" (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" { (expression_statement "dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);" (assignment_expression "dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" identifier = (binary_expression "dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" identifier + (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1418)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1418)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1418)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1418" identifier + number_literal) )))))) ;) })) (expression_statement "dVar17 = distortion[0x40] / (dVar17 * dVar18);" (assignment_expression "dVar17 = distortion[0x40] / (dVar17 * dVar18)" identifier = (binary_expression "distortion[0x40] / (dVar17 * dVar18)" (subscript_expression "distortion[0x40]" identifier [ number_literal ]) / (parenthesized_expression "(dVar17 * dVar18)" ( (binary_expression "dVar17 * dVar18" identifier * identifier) )))) ;) (labeled_statement "LAB_00071a8c:\n    dVar18 = *(double *)(PTR_LAB_003a88e0 + 0x1438);" statement_identifier : (expression_statement "dVar18 = *(double *)(PTR_LAB_003a88e0 + 0x1438);" (assignment_expression "dVar18 = *(double *)(PTR_LAB_003a88e0 + 0x1438)" identifier = (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1438)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1438)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1438" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n    exception_00 = (ExceptionInfo *)image->channel_map;\n    dVar17 = (double)(int)CVar11;\n    if ((int)CVar11 < 0) {\n      dVar17 = dVar17 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar18 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    pEVar9 = exception_00;\n    pdVar12 = distortion;\n    do {\n      if (((&exception_00->error_number)[pEVar9->severity * 3] != UndefinedPixelTrait) &&\n         (((&exception_00->error_number)[pEVar9->severity * 3] & UpdatePixelTrait) !=\n          UndefinedPixelTrait)) {\n        *pdVar12 = *pdVar12 / (dVar17 * dVar18);\n      }\n      pEVar9 = (ExceptionInfo *)&pEVar9->description;\n      pdVar12 = pdVar12 + 1;\n    } while ((ExceptionInfo *)(&exception_00->severity + sVar5 * 3) != pEVar9);\n    pdVar12 = (double *)0x0;\n    dVar17 = distortion[0x40] / (dVar17 * dVar18);\n    pEVar10 = exception_00;\n    do {\n      reconstruct_image_00 = (Image *)pEVar10->severity;\n      if (((&exception_00->error_number)[(int)reconstruct_image_00 * 3] & UpdatePixelTrait) !=\n          UndefinedPixelTrait) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }\n      pEVar10 = (ExceptionInfo *)&pEVar10->description;\n    } while (pEVar10 != pEVar9);\n    if (pdVar12 == (double *)0x0) goto LAB_00071a8c;\n    dVar18 = (double)(int)pdVar12;\n    if ((int)pdVar12 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n  }" else (compound_statement "{\n    exception_00 = (ExceptionInfo *)image->channel_map;\n    dVar17 = (double)(int)CVar11;\n    if ((int)CVar11 < 0) {\n      dVar17 = dVar17 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar18 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    pEVar9 = exception_00;\n    pdVar12 = distortion;\n    do {\n      if (((&exception_00->error_number)[pEVar9->severity * 3] != UndefinedPixelTrait) &&\n         (((&exception_00->error_number)[pEVar9->severity * 3] & UpdatePixelTrait) !=\n          UndefinedPixelTrait)) {\n        *pdVar12 = *pdVar12 / (dVar17 * dVar18);\n      }\n      pEVar9 = (ExceptionInfo *)&pEVar9->description;\n      pdVar12 = pdVar12 + 1;\n    } while ((ExceptionInfo *)(&exception_00->severity + sVar5 * 3) != pEVar9);\n    pdVar12 = (double *)0x0;\n    dVar17 = distortion[0x40] / (dVar17 * dVar18);\n    pEVar10 = exception_00;\n    do {\n      reconstruct_image_00 = (Image *)pEVar10->severity;\n      if (((&exception_00->error_number)[(int)reconstruct_image_00 * 3] & UpdatePixelTrait) !=\n          UndefinedPixelTrait) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }\n      pEVar10 = (ExceptionInfo *)&pEVar10->description;\n    } while (pEVar10 != pEVar9);\n    if (pdVar12 == (double *)0x0) goto LAB_00071a8c;\n    dVar18 = (double)(int)pdVar12;\n    if ((int)pdVar12 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n  }" { (expression_statement "exception_00 = (ExceptionInfo *)image->channel_map;" (assignment_expression "exception_00 = (ExceptionInfo *)image->channel_map" identifier = (cast_expression "(ExceptionInfo *)image->channel_map" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "image->channel_map" identifier -> field_identifier))) ;) (expression_statement "dVar17 = (double)(int)CVar11;" (assignment_expression "dVar17 = (double)(int)CVar11" identifier = (cast_expression "(double)(int)CVar11" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)CVar11" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((int)CVar11 < 0) {\n      dVar17 = dVar17 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" if (parenthesized_expression "((int)CVar11 < 0)" ( (binary_expression "(int)CVar11 < 0" (cast_expression "(int)CVar11" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      dVar17 = dVar17 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" { (expression_statement "dVar17 = dVar17 + *(double *)(PTR_LAB_003a88e0 + 0x1418);" (assignment_expression "dVar17 = dVar17 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" identifier = (binary_expression "dVar17 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" identifier + (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1418)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1418)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1418)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1418" identifier + number_literal) )))))) ;) })) (expression_statement "dVar18 = (double)(int)uVar6;" (assignment_expression "dVar18 = (double)(int)uVar6" identifier = (cast_expression "(double)(int)uVar6" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((int)uVar6 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" if (parenthesized_expression "((int)uVar6 < 0)" ( (binary_expression "(int)uVar6 < 0" (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" { (expression_statement "dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);" (assignment_expression "dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" identifier = (binary_expression "dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" identifier + (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1418)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1418)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1418)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1418" identifier + number_literal) )))))) ;) })) (expression_statement "pEVar9 = exception_00;" (assignment_expression "pEVar9 = exception_00" identifier = identifier) ;) (expression_statement "pdVar12 = distortion;" (assignment_expression "pdVar12 = distortion" identifier = identifier) ;) (do_statement "do {\n      if (((&exception_00->error_number)[pEVar9->severity * 3] != UndefinedPixelTrait) &&\n         (((&exception_00->error_number)[pEVar9->severity * 3] & UpdatePixelTrait) !=\n          UndefinedPixelTrait)) {\n        *pdVar12 = *pdVar12 / (dVar17 * dVar18);\n      }\n      pEVar9 = (ExceptionInfo *)&pEVar9->description;\n      pdVar12 = pdVar12 + 1;\n    } while ((ExceptionInfo *)(&exception_00->severity + sVar5 * 3) != pEVar9);" do (compound_statement "{\n      if (((&exception_00->error_number)[pEVar9->severity * 3] != UndefinedPixelTrait) &&\n         (((&exception_00->error_number)[pEVar9->severity * 3] & UpdatePixelTrait) !=\n          UndefinedPixelTrait)) {\n        *pdVar12 = *pdVar12 / (dVar17 * dVar18);\n      }\n      pEVar9 = (ExceptionInfo *)&pEVar9->description;\n      pdVar12 = pdVar12 + 1;\n    }" { (if_statement "if (((&exception_00->error_number)[pEVar9->severity * 3] != UndefinedPixelTrait) &&\n         (((&exception_00->error_number)[pEVar9->severity * 3] & UpdatePixelTrait) !=\n          UndefinedPixelTrait)) {\n        *pdVar12 = *pdVar12 / (dVar17 * dVar18);\n      }" if (parenthesized_expression "(((&exception_00->error_number)[pEVar9->severity * 3] != UndefinedPixelTrait) &&\n         (((&exception_00->error_number)[pEVar9->severity * 3] & UpdatePixelTrait) !=\n          UndefinedPixelTrait))" ( (binary_expression "((&exception_00->error_number)[pEVar9->severity * 3] != UndefinedPixelTrait) &&\n         (((&exception_00->error_number)[pEVar9->severity * 3] & UpdatePixelTrait) !=\n          UndefinedPixelTrait)" (parenthesized_expression "((&exception_00->error_number)[pEVar9->severity * 3] != UndefinedPixelTrait)" ( (binary_expression "(&exception_00->error_number)[pEVar9->severity * 3] != UndefinedPixelTrait" (subscript_expression "(&exception_00->error_number)[pEVar9->severity * 3]" (parenthesized_expression "(&exception_00->error_number)" ( (pointer_expression "&exception_00->error_number" & (field_expression "exception_00->error_number" identifier -> field_identifier)) )) [ (binary_expression "pEVar9->severity * 3" (field_expression "pEVar9->severity" identifier -> field_identifier) * number_literal) ]) != identifier) )) && (parenthesized_expression "(((&exception_00->error_number)[pEVar9->severity * 3] & UpdatePixelTrait) !=\n          UndefinedPixelTrait)" ( (binary_expression "((&exception_00->error_number)[pEVar9->severity * 3] & UpdatePixelTrait) !=\n          UndefinedPixelTrait" (parenthesized_expression "((&exception_00->error_number)[pEVar9->severity * 3] & UpdatePixelTrait)" ( (binary_expression "(&exception_00->error_number)[pEVar9->severity * 3] & UpdatePixelTrait" (subscript_expression "(&exception_00->error_number)[pEVar9->severity * 3]" (parenthesized_expression "(&exception_00->error_number)" ( (pointer_expression "&exception_00->error_number" & (field_expression "exception_00->error_number" identifier -> field_identifier)) )) [ (binary_expression "pEVar9->severity * 3" (field_expression "pEVar9->severity" identifier -> field_identifier) * number_literal) ]) & identifier) )) != identifier) ))) )) (compound_statement "{\n        *pdVar12 = *pdVar12 / (dVar17 * dVar18);\n      }" { (expression_statement "*pdVar12 = *pdVar12 / (dVar17 * dVar18);" (assignment_expression "*pdVar12 = *pdVar12 / (dVar17 * dVar18)" (pointer_expression "*pdVar12" * identifier) = (binary_expression "*pdVar12 / (dVar17 * dVar18)" (pointer_expression "*pdVar12" * identifier) / (parenthesized_expression "(dVar17 * dVar18)" ( (binary_expression "dVar17 * dVar18" identifier * identifier) )))) ;) })) (expression_statement "pEVar9 = (ExceptionInfo *)&pEVar9->description;" (assignment_expression "pEVar9 = (ExceptionInfo *)&pEVar9->description" identifier = (cast_expression "(ExceptionInfo *)&pEVar9->description" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar9->description" & (field_expression "pEVar9->description" identifier -> field_identifier)))) ;) (expression_statement "pdVar12 = pdVar12 + 1;" (assignment_expression "pdVar12 = pdVar12 + 1" identifier = (binary_expression "pdVar12 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((ExceptionInfo *)(&exception_00->severity + sVar5 * 3) != pEVar9)" ( (binary_expression "(ExceptionInfo *)(&exception_00->severity + sVar5 * 3) != pEVar9" (cast_expression "(ExceptionInfo *)(&exception_00->severity + sVar5 * 3)" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&exception_00->severity + sVar5 * 3)" ( (binary_expression "&exception_00->severity + sVar5 * 3" (pointer_expression "&exception_00->severity" & (field_expression "exception_00->severity" identifier -> field_identifier)) + (binary_expression "sVar5 * 3" identifier * number_literal)) ))) != identifier) )) ;) (expression_statement "pdVar12 = (double *)0x0;" (assignment_expression "pdVar12 = (double *)0x0" identifier = (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "dVar17 = distortion[0x40] / (dVar17 * dVar18);" (assignment_expression "dVar17 = distortion[0x40] / (dVar17 * dVar18)" identifier = (binary_expression "distortion[0x40] / (dVar17 * dVar18)" (subscript_expression "distortion[0x40]" identifier [ number_literal ]) / (parenthesized_expression "(dVar17 * dVar18)" ( (binary_expression "dVar17 * dVar18" identifier * identifier) )))) ;) (expression_statement "pEVar10 = exception_00;" (assignment_expression "pEVar10 = exception_00" identifier = identifier) ;) (do_statement "do {\n      reconstruct_image_00 = (Image *)pEVar10->severity;\n      if (((&exception_00->error_number)[(int)reconstruct_image_00 * 3] & UpdatePixelTrait) !=\n          UndefinedPixelTrait) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }\n      pEVar10 = (ExceptionInfo *)&pEVar10->description;\n    } while (pEVar10 != pEVar9);" do (compound_statement "{\n      reconstruct_image_00 = (Image *)pEVar10->severity;\n      if (((&exception_00->error_number)[(int)reconstruct_image_00 * 3] & UpdatePixelTrait) !=\n          UndefinedPixelTrait) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }\n      pEVar10 = (ExceptionInfo *)&pEVar10->description;\n    }" { (expression_statement "reconstruct_image_00 = (Image *)pEVar10->severity;" (assignment_expression "reconstruct_image_00 = (Image *)pEVar10->severity" identifier = (cast_expression "(Image *)pEVar10->severity" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar10->severity" identifier -> field_identifier))) ;) (if_statement "if (((&exception_00->error_number)[(int)reconstruct_image_00 * 3] & UpdatePixelTrait) !=\n          UndefinedPixelTrait) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }" if (parenthesized_expression "(((&exception_00->error_number)[(int)reconstruct_image_00 * 3] & UpdatePixelTrait) !=\n          UndefinedPixelTrait)" ( (binary_expression "((&exception_00->error_number)[(int)reconstruct_image_00 * 3] & UpdatePixelTrait) !=\n          UndefinedPixelTrait" (parenthesized_expression "((&exception_00->error_number)[(int)reconstruct_image_00 * 3] & UpdatePixelTrait)" ( (binary_expression "(&exception_00->error_number)[(int)reconstruct_image_00 * 3] & UpdatePixelTrait" (subscript_expression "(&exception_00->error_number)[(int)reconstruct_image_00 * 3]" (parenthesized_expression "(&exception_00->error_number)" ( (pointer_expression "&exception_00->error_number" & (field_expression "exception_00->error_number" identifier -> field_identifier)) )) [ (binary_expression "(int)reconstruct_image_00 * 3" (cast_expression "(int)reconstruct_image_00" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ]) & identifier) )) != identifier) )) (compound_statement "{\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }" { (expression_statement "pdVar12 = (double *)((int)pdVar12 + 1);" (assignment_expression "pdVar12 = (double *)((int)pdVar12 + 1)" identifier = (cast_expression "(double *)((int)pdVar12 + 1)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar12 + 1)" ( (binary_expression "(int)pdVar12 + 1" (cast_expression "(int)pdVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "pEVar10 = (ExceptionInfo *)&pEVar10->description;" (assignment_expression "pEVar10 = (ExceptionInfo *)&pEVar10->description" identifier = (cast_expression "(ExceptionInfo *)&pEVar10->description" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar10->description" & (field_expression "pEVar10->description" identifier -> field_identifier)))) ;) }) while (parenthesized_expression "(pEVar10 != pEVar9)" ( (binary_expression "pEVar10 != pEVar9" identifier != identifier) )) ;) (if_statement "if (pdVar12 == (double *)0x0) goto LAB_00071a8c;" if (parenthesized_expression "(pdVar12 == (double *)0x0)" ( (binary_expression "pdVar12 == (double *)0x0" identifier == (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00071a8c;" goto statement_identifier ;)) (expression_statement "dVar18 = (double)(int)pdVar12;" (assignment_expression "dVar18 = (double)(int)pdVar12" identifier = (cast_expression "(double)(int)pdVar12" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)pdVar12" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((int)pdVar12 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" if (parenthesized_expression "((int)pdVar12 < 0)" ( (binary_expression "(int)pdVar12 < 0" (cast_expression "(int)pdVar12" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" { (expression_statement "dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);" (assignment_expression "dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" identifier = (binary_expression "dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" identifier + (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1418)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1418)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1418)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1418" identifier + number_literal) )))))) ;) })) }))) (expression_statement "puVar2 = PTR_DestroyKernelInfo_003a96a8;" (assignment_expression "puVar2 = PTR_DestroyKernelInfo_003a96a8" identifier = identifier) ;) (expression_statement "distortion[0x40] = dVar17 / dVar18;" (assignment_expression "distortion[0x40] = dVar17 / dVar18" (subscript_expression "distortion[0x40]" identifier [ number_literal ]) = (binary_expression "dVar17 / dVar18" identifier / identifier)) ;) (expression_statement "(*(code *)puVar2)(pPVar4);" (call_expression "(*(code *)puVar2)(pPVar4)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pPVar4)" ( identifier ))) ;) (labeled_statement "LAB_00071930:\n  if (image_00 == *(Image **)puVar16) {\n    return MVar8;\n  }" statement_identifier : (if_statement "if (image_00 == *(Image **)puVar16) {\n    return MVar8;\n  }" if (parenthesized_expression "(image_00 == *(Image **)puVar16)" ( (binary_expression "image_00 == *(Image **)puVar16" identifier == (pointer_expression "*(Image **)puVar16" * (cast_expression "(Image **)puVar16" ( (type_descriptor "Image **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return MVar8;\n  }" { (return_statement "return MVar8;" return identifier ;) }))) (expression_statement "puVar16 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar16 = 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 "MVar8 = GetStructuralSimilarityDistortion(image_00,reconstruct_image_00,pdVar12,exception_00);" (assignment_expression "MVar8 = GetStructuralSimilarityDistortion(image_00,reconstruct_image_00,pdVar12,exception_00)" identifier = (call_expression "GetStructuralSimilarityDistortion(image_00,reconstruct_image_00,pdVar12,exception_00)" identifier (argument_list "(image_00,reconstruct_image_00,pdVar12,exception_00)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "dVar18 = *(double *)(*(int *)(puVar16 + 0x336d50) + 0x1438);" (assignment_expression "dVar18 = *(double *)(*(int *)(puVar16 + 0x336d50) + 0x1438)" identifier = (pointer_expression "*(double *)(*(int *)(puVar16 + 0x336d50) + 0x1438)" * (cast_expression "(double *)(*(int *)(puVar16 + 0x336d50) + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar16 + 0x336d50) + 0x1438)" ( (binary_expression "*(int *)(puVar16 + 0x336d50) + 0x1438" (pointer_expression "*(int *)(puVar16 + 0x336d50)" * (cast_expression "(int *)(puVar16 + 0x336d50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x336d50)" ( (binary_expression "puVar16 + 0x336d50" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar17 = *(double *)(*(int *)(puVar16 + 0x336d50) + 0x1400);" (assignment_expression "dVar17 = *(double *)(*(int *)(puVar16 + 0x336d50) + 0x1400)" identifier = (pointer_expression "*(double *)(*(int *)(puVar16 + 0x336d50) + 0x1400)" * (cast_expression "(double *)(*(int *)(puVar16 + 0x336d50) + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar16 + 0x336d50) + 0x1400)" ( (binary_expression "*(int *)(puVar16 + 0x336d50) + 0x1400" (pointer_expression "*(int *)(puVar16 + 0x336d50)" * (cast_expression "(int *)(puVar16 + 0x336d50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x336d50)" ( (binary_expression "puVar16 + 0x336d50" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "pdVar14 = pdVar12;" (assignment_expression "pdVar14 = pdVar12" identifier = identifier) ;) (do_statement "do {\n    pdVar15 = pdVar14 + 1;\n    *pdVar14 = (dVar18 - *pdVar14) * dVar17;\n    pdVar14 = pdVar15;\n  } while (pdVar15 != pdVar12 + 0x41);" do (compound_statement "{\n    pdVar15 = pdVar14 + 1;\n    *pdVar14 = (dVar18 - *pdVar14) * dVar17;\n    pdVar14 = pdVar15;\n  }" { (expression_statement "pdVar15 = pdVar14 + 1;" (assignment_expression "pdVar15 = pdVar14 + 1" identifier = (binary_expression "pdVar14 + 1" identifier + number_literal)) ;) (expression_statement "*pdVar14 = (dVar18 - *pdVar14) * dVar17;" (assignment_expression "*pdVar14 = (dVar18 - *pdVar14) * dVar17" (pointer_expression "*pdVar14" * identifier) = (binary_expression "(dVar18 - *pdVar14) * dVar17" (parenthesized_expression "(dVar18 - *pdVar14)" ( (binary_expression "dVar18 - *pdVar14" identifier - (pointer_expression "*pdVar14" * identifier)) )) * identifier)) ;) (expression_statement "pdVar14 = pdVar15;" (assignment_expression "pdVar14 = pdVar15" identifier = identifier) ;) }) while (parenthesized_expression "(pdVar15 != pdVar12 + 0x41)" ( (binary_expression "pdVar15 != pdVar12 + 0x41" identifier != (binary_expression "pdVar12 + 0x41" identifier + number_literal)) )) ;) (return_statement "return MVar8;" return identifier ;) })))
(translation_unit "undefined4 FUN_0007157c(int param_1,int param_2,double *param_3,undefined4 param_4)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  int *piVar9;\n  int extraout_v1;\n  double *extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  int *piVar10;\n  uint uVar11;\n  double *pdVar12;\n  uint uVar13;\n  double *pdVar14;\n  int *piVar16;\n  undefined *puVar17;\n  double dVar18;\n  double dVar19;\n  undefined8 uVar20;\n  double local_1078;\n  double local_1070;\n  int local_1068;\n  int local_1064;\n  double *local_1060;\n  undefined4 local_105c;\n  undefined4 local_1058;\n  undefined4 local_1054;\n  int local_1050;\n  uint local_104c;\n  uint local_1048;\n  undefined4 local_1044;\n  undefined1 auStack_103c [4096];\n  int local_3c;\n  uint uVar6;\n  double *pdVar15;\n  \n  puVar17 = PTR___stack_chk_guard_003a9230;\n  local_3c = *(int *)PTR___stack_chk_guard_003a9230;\n  iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834);\n  if (iVar3 == 0) {\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }\n  else {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }\n  if (iVar3 != 0) {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n  }\n  (*(code *)PTR_FormatLocaleString_003a8d7c)\n            (auStack_103c,0x1000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x380c);\n  iVar3 = (*(code *)PTR_AcquireKernelInfo_003a8fe4)(auStack_103c,param_4);\n  if (iVar3 == 0) {\n    pdVar12 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc);\n    uVar8 = 0;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4,pdVar12,0x581,400,\n               PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x340);\n    goto LAB_00071930;\n  }\n  iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc);\n  if (iVar4 == 0) {\n    dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538);\n    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar4 == 0) goto LAB_0007199c;\nLAB_000716d4:\n    dVar19 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);\n    dVar19 = dVar19 * dVar19;\n  }\n  else {\n    dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);\n    dVar18 = dVar18 * dVar18;\n    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar4 != 0) goto LAB_000716d4;\nLAB_0007199c:\n    dVar19 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);\n  }\n  uVar11 = *(uint *)(param_1 + 0x1c);\n  if (*(uint *)(param_1 + 0x1c) <= *(uint *)(param_2 + 0x1c)) {\n    uVar11 = *(uint *)(param_2 + 0x1c);\n  }\n  uVar6 = *(uint *)(param_1 + 0x18);\n  if (*(uint *)(param_1 + 0x18) <= *(uint *)(param_2 + 0x18)) {\n    uVar6 = *(uint *)(param_2 + 0x18);\n  }\n  uVar5 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_1,param_4);\n  uVar7 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_4);\n  iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);\n  if (((iVar4 == 4) || (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar4 == 3)\n      ) && ((iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 4 ||\n            (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3)))) {\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    uVar13 = uVar11;\n    if ((int)uVar11 < 0) {\n      uVar13 = uVar11 + 0x3f;\n    }\n    pdVar12 = (double *)((int)uVar13 >> 6);\n    if (extraout_v1 < (int)pdVar12) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_01 < 2;\n    }\n    else {\n      bVar1 = (int)uVar11 < 0x80;\n    }\n    if ((bool)(bVar1 ^ 1)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;\n    }\n    else {\n      pdVar12 = (double *)0x1;\n    }\n  }\n  else {\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n      uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }\n    }\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\nLAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pdVar12 = extraout_v1_00;\n    }\n    else {\n      pdVar12 = (double *)0x2;\n    }\n  }\nLAB_000717a0:\n  local_1044 = 1;\n  local_1078 = dVar18;\n  local_1070 = dVar19;\n  local_1068 = param_1;\n  local_1064 = param_2;\n  local_1060 = param_3;\n  local_105c = param_4;\n  local_1058 = uVar5;\n  local_1054 = uVar7;\n  local_1050 = iVar3;\n  local_104c = uVar6;\n  local_1048 = uVar11;\n  (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8938 + 0x3244,&local_1078,pdVar12,0);\n  uVar8 = local_1044;\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(uVar5);\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(uVar7);\n  iVar4 = *(int *)(param_1 + 0x2c0);\n  if (iVar4 < 1) {\n    dVar18 = (double)(int)uVar11;\n    if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar19 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar18 = param_3[0x40] / (dVar18 * dVar19);\nLAB_00071a8c:\n    dVar19 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n  }\n  else {\n    piVar16 = *(int **)(param_1 + 0x2d0);\n    dVar18 = (double)(int)uVar11;\n    if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar19 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    piVar9 = piVar16;\n    pdVar12 = param_3;\n    do {\n      if ((piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0)) {\n        *pdVar12 = *pdVar12 / (dVar18 * dVar19);\n      }\n      piVar9 = piVar9 + 3;\n      pdVar12 = pdVar12 + 1;\n    } while (piVar16 + iVar4 * 3 != piVar9);\n    pdVar12 = (double *)0x0;\n    dVar18 = param_3[0x40] / (dVar18 * dVar19);\n    piVar10 = piVar16;\n    do {\n      if ((piVar16[*piVar10 * 3 + 1] & 2U) != 0) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }\n      piVar10 = piVar10 + 3;\n    } while (piVar10 != piVar9);\n    if (pdVar12 == (double *)0x0) goto LAB_00071a8c;\n    dVar19 = (double)(int)pdVar12;\n    if ((int)pdVar12 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n  }\n  puVar2 = PTR_DestroyKernelInfo_003a96a8;\n  param_3[0x40] = dVar18 / dVar19;\n  (*(code *)puVar2)(iVar3);\nLAB_00071930:\n  if (local_3c == *(int *)puVar17) {\n    return uVar8;\n  }\n  puVar17 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  uVar8 = FUN_0007157c();\n  dVar19 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1438);\n  dVar18 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1400);\n  pdVar14 = pdVar12;\n  do {\n    pdVar15 = pdVar14 + 1;\n    *pdVar14 = (dVar19 - *pdVar14) * dVar18;\n    pdVar14 = pdVar15;\n  } while (pdVar15 != pdVar12 + 0x41);\n  return uVar8;\n}\n\n" (function_definition "undefined4 FUN_0007157c(int param_1,int param_2,double *param_3,undefined4 param_4)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  int *piVar9;\n  int extraout_v1;\n  double *extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  int *piVar10;\n  uint uVar11;\n  double *pdVar12;\n  uint uVar13;\n  double *pdVar14;\n  int *piVar16;\n  undefined *puVar17;\n  double dVar18;\n  double dVar19;\n  undefined8 uVar20;\n  double local_1078;\n  double local_1070;\n  int local_1068;\n  int local_1064;\n  double *local_1060;\n  undefined4 local_105c;\n  undefined4 local_1058;\n  undefined4 local_1054;\n  int local_1050;\n  uint local_104c;\n  uint local_1048;\n  undefined4 local_1044;\n  undefined1 auStack_103c [4096];\n  int local_3c;\n  uint uVar6;\n  double *pdVar15;\n  \n  puVar17 = PTR___stack_chk_guard_003a9230;\n  local_3c = *(int *)PTR___stack_chk_guard_003a9230;\n  iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834);\n  if (iVar3 == 0) {\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }\n  else {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }\n  if (iVar3 != 0) {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n  }\n  (*(code *)PTR_FormatLocaleString_003a8d7c)\n            (auStack_103c,0x1000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x380c);\n  iVar3 = (*(code *)PTR_AcquireKernelInfo_003a8fe4)(auStack_103c,param_4);\n  if (iVar3 == 0) {\n    pdVar12 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc);\n    uVar8 = 0;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4,pdVar12,0x581,400,\n               PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x340);\n    goto LAB_00071930;\n  }\n  iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc);\n  if (iVar4 == 0) {\n    dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538);\n    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar4 == 0) goto LAB_0007199c;\nLAB_000716d4:\n    dVar19 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);\n    dVar19 = dVar19 * dVar19;\n  }\n  else {\n    dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);\n    dVar18 = dVar18 * dVar18;\n    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar4 != 0) goto LAB_000716d4;\nLAB_0007199c:\n    dVar19 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);\n  }\n  uVar11 = *(uint *)(param_1 + 0x1c);\n  if (*(uint *)(param_1 + 0x1c) <= *(uint *)(param_2 + 0x1c)) {\n    uVar11 = *(uint *)(param_2 + 0x1c);\n  }\n  uVar6 = *(uint *)(param_1 + 0x18);\n  if (*(uint *)(param_1 + 0x18) <= *(uint *)(param_2 + 0x18)) {\n    uVar6 = *(uint *)(param_2 + 0x18);\n  }\n  uVar5 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_1,param_4);\n  uVar7 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_4);\n  iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);\n  if (((iVar4 == 4) || (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar4 == 3)\n      ) && ((iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 4 ||\n            (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3)))) {\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    uVar13 = uVar11;\n    if ((int)uVar11 < 0) {\n      uVar13 = uVar11 + 0x3f;\n    }\n    pdVar12 = (double *)((int)uVar13 >> 6);\n    if (extraout_v1 < (int)pdVar12) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_01 < 2;\n    }\n    else {\n      bVar1 = (int)uVar11 < 0x80;\n    }\n    if ((bool)(bVar1 ^ 1)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;\n    }\n    else {\n      pdVar12 = (double *)0x1;\n    }\n  }\n  else {\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n      uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }\n    }\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\nLAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pdVar12 = extraout_v1_00;\n    }\n    else {\n      pdVar12 = (double *)0x2;\n    }\n  }\nLAB_000717a0:\n  local_1044 = 1;\n  local_1078 = dVar18;\n  local_1070 = dVar19;\n  local_1068 = param_1;\n  local_1064 = param_2;\n  local_1060 = param_3;\n  local_105c = param_4;\n  local_1058 = uVar5;\n  local_1054 = uVar7;\n  local_1050 = iVar3;\n  local_104c = uVar6;\n  local_1048 = uVar11;\n  (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8938 + 0x3244,&local_1078,pdVar12,0);\n  uVar8 = local_1044;\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(uVar5);\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(uVar7);\n  iVar4 = *(int *)(param_1 + 0x2c0);\n  if (iVar4 < 1) {\n    dVar18 = (double)(int)uVar11;\n    if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar19 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar18 = param_3[0x40] / (dVar18 * dVar19);\nLAB_00071a8c:\n    dVar19 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n  }\n  else {\n    piVar16 = *(int **)(param_1 + 0x2d0);\n    dVar18 = (double)(int)uVar11;\n    if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar19 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    piVar9 = piVar16;\n    pdVar12 = param_3;\n    do {\n      if ((piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0)) {\n        *pdVar12 = *pdVar12 / (dVar18 * dVar19);\n      }\n      piVar9 = piVar9 + 3;\n      pdVar12 = pdVar12 + 1;\n    } while (piVar16 + iVar4 * 3 != piVar9);\n    pdVar12 = (double *)0x0;\n    dVar18 = param_3[0x40] / (dVar18 * dVar19);\n    piVar10 = piVar16;\n    do {\n      if ((piVar16[*piVar10 * 3 + 1] & 2U) != 0) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }\n      piVar10 = piVar10 + 3;\n    } while (piVar10 != piVar9);\n    if (pdVar12 == (double *)0x0) goto LAB_00071a8c;\n    dVar19 = (double)(int)pdVar12;\n    if ((int)pdVar12 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n  }\n  puVar2 = PTR_DestroyKernelInfo_003a96a8;\n  param_3[0x40] = dVar18 / dVar19;\n  (*(code *)puVar2)(iVar3);\nLAB_00071930:\n  if (local_3c == *(int *)puVar17) {\n    return uVar8;\n  }\n  puVar17 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  uVar8 = FUN_0007157c();\n  dVar19 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1438);\n  dVar18 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1400);\n  pdVar14 = pdVar12;\n  do {\n    pdVar15 = pdVar14 + 1;\n    *pdVar14 = (dVar19 - *pdVar14) * dVar18;\n    pdVar14 = pdVar15;\n  } while (pdVar15 != pdVar12 + 0x41);\n  return uVar8;\n}" type_identifier (function_declarator "FUN_0007157c(int param_1,int param_2,double *param_3,undefined4 param_4)" identifier (parameter_list "(int param_1,int param_2,double *param_3,undefined4 param_4)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "double *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "undefined4 param_4" type_identifier identifier) ))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  int *piVar9;\n  int extraout_v1;\n  double *extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  int *piVar10;\n  uint uVar11;\n  double *pdVar12;\n  uint uVar13;\n  double *pdVar14;\n  int *piVar16;\n  undefined *puVar17;\n  double dVar18;\n  double dVar19;\n  undefined8 uVar20;\n  double local_1078;\n  double local_1070;\n  int local_1068;\n  int local_1064;\n  double *local_1060;\n  undefined4 local_105c;\n  undefined4 local_1058;\n  undefined4 local_1054;\n  int local_1050;\n  uint local_104c;\n  uint local_1048;\n  undefined4 local_1044;\n  undefined1 auStack_103c [4096];\n  int local_3c;\n  uint uVar6;\n  double *pdVar15;\n  \n  puVar17 = PTR___stack_chk_guard_003a9230;\n  local_3c = *(int *)PTR___stack_chk_guard_003a9230;\n  iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834);\n  if (iVar3 == 0) {\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }\n  else {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }\n  if (iVar3 != 0) {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n  }\n  (*(code *)PTR_FormatLocaleString_003a8d7c)\n            (auStack_103c,0x1000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x380c);\n  iVar3 = (*(code *)PTR_AcquireKernelInfo_003a8fe4)(auStack_103c,param_4);\n  if (iVar3 == 0) {\n    pdVar12 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc);\n    uVar8 = 0;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4,pdVar12,0x581,400,\n               PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x340);\n    goto LAB_00071930;\n  }\n  iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc);\n  if (iVar4 == 0) {\n    dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538);\n    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar4 == 0) goto LAB_0007199c;\nLAB_000716d4:\n    dVar19 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);\n    dVar19 = dVar19 * dVar19;\n  }\n  else {\n    dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);\n    dVar18 = dVar18 * dVar18;\n    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar4 != 0) goto LAB_000716d4;\nLAB_0007199c:\n    dVar19 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);\n  }\n  uVar11 = *(uint *)(param_1 + 0x1c);\n  if (*(uint *)(param_1 + 0x1c) <= *(uint *)(param_2 + 0x1c)) {\n    uVar11 = *(uint *)(param_2 + 0x1c);\n  }\n  uVar6 = *(uint *)(param_1 + 0x18);\n  if (*(uint *)(param_1 + 0x18) <= *(uint *)(param_2 + 0x18)) {\n    uVar6 = *(uint *)(param_2 + 0x18);\n  }\n  uVar5 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_1,param_4);\n  uVar7 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_4);\n  iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);\n  if (((iVar4 == 4) || (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar4 == 3)\n      ) && ((iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 4 ||\n            (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3)))) {\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    uVar13 = uVar11;\n    if ((int)uVar11 < 0) {\n      uVar13 = uVar11 + 0x3f;\n    }\n    pdVar12 = (double *)((int)uVar13 >> 6);\n    if (extraout_v1 < (int)pdVar12) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_01 < 2;\n    }\n    else {\n      bVar1 = (int)uVar11 < 0x80;\n    }\n    if ((bool)(bVar1 ^ 1)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;\n    }\n    else {\n      pdVar12 = (double *)0x1;\n    }\n  }\n  else {\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n      uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }\n    }\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\nLAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pdVar12 = extraout_v1_00;\n    }\n    else {\n      pdVar12 = (double *)0x2;\n    }\n  }\nLAB_000717a0:\n  local_1044 = 1;\n  local_1078 = dVar18;\n  local_1070 = dVar19;\n  local_1068 = param_1;\n  local_1064 = param_2;\n  local_1060 = param_3;\n  local_105c = param_4;\n  local_1058 = uVar5;\n  local_1054 = uVar7;\n  local_1050 = iVar3;\n  local_104c = uVar6;\n  local_1048 = uVar11;\n  (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8938 + 0x3244,&local_1078,pdVar12,0);\n  uVar8 = local_1044;\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(uVar5);\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(uVar7);\n  iVar4 = *(int *)(param_1 + 0x2c0);\n  if (iVar4 < 1) {\n    dVar18 = (double)(int)uVar11;\n    if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar19 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar18 = param_3[0x40] / (dVar18 * dVar19);\nLAB_00071a8c:\n    dVar19 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n  }\n  else {\n    piVar16 = *(int **)(param_1 + 0x2d0);\n    dVar18 = (double)(int)uVar11;\n    if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar19 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    piVar9 = piVar16;\n    pdVar12 = param_3;\n    do {\n      if ((piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0)) {\n        *pdVar12 = *pdVar12 / (dVar18 * dVar19);\n      }\n      piVar9 = piVar9 + 3;\n      pdVar12 = pdVar12 + 1;\n    } while (piVar16 + iVar4 * 3 != piVar9);\n    pdVar12 = (double *)0x0;\n    dVar18 = param_3[0x40] / (dVar18 * dVar19);\n    piVar10 = piVar16;\n    do {\n      if ((piVar16[*piVar10 * 3 + 1] & 2U) != 0) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }\n      piVar10 = piVar10 + 3;\n    } while (piVar10 != piVar9);\n    if (pdVar12 == (double *)0x0) goto LAB_00071a8c;\n    dVar19 = (double)(int)pdVar12;\n    if ((int)pdVar12 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n  }\n  puVar2 = PTR_DestroyKernelInfo_003a96a8;\n  param_3[0x40] = dVar18 / dVar19;\n  (*(code *)puVar2)(iVar3);\nLAB_00071930:\n  if (local_3c == *(int *)puVar17) {\n    return uVar8;\n  }\n  puVar17 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  uVar8 = FUN_0007157c();\n  dVar19 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1438);\n  dVar18 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1400);\n  pdVar14 = pdVar12;\n  do {\n    pdVar15 = pdVar14 + 1;\n    *pdVar14 = (dVar19 - *pdVar14) * dVar18;\n    pdVar14 = pdVar15;\n  } while (pdVar15 != pdVar12 + 0x41);\n  return uVar8;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int extraout_v1;" primitive_type identifier ;) (declaration "double *extraout_v1_00;" primitive_type (pointer_declarator "*extraout_v1_00" * identifier) ;) (declaration "int extraout_v1_01;" primitive_type identifier ;) (declaration "int extraout_v1_02;" primitive_type identifier ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "double *pdVar12;" primitive_type (pointer_declarator "*pdVar12" * identifier) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "double *pdVar14;" primitive_type (pointer_declarator "*pdVar14" * identifier) ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "undefined *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "double dVar18;" primitive_type identifier ;) (declaration "double dVar19;" primitive_type identifier ;) (declaration "undefined8 uVar20;" type_identifier identifier ;) (declaration "double local_1078;" primitive_type identifier ;) (declaration "double local_1070;" primitive_type identifier ;) (declaration "int local_1068;" primitive_type identifier ;) (declaration "int local_1064;" primitive_type identifier ;) (declaration "double *local_1060;" primitive_type (pointer_declarator "*local_1060" * identifier) ;) (declaration "undefined4 local_105c;" type_identifier identifier ;) (declaration "undefined4 local_1058;" type_identifier identifier ;) (declaration "undefined4 local_1054;" type_identifier identifier ;) (declaration "int local_1050;" primitive_type identifier ;) (declaration "uint local_104c;" type_identifier identifier ;) (declaration "uint local_1048;" type_identifier identifier ;) (declaration "undefined4 local_1044;" type_identifier identifier ;) (declaration "undefined1 auStack_103c [4096];" type_identifier (array_declarator "auStack_103c [4096]" identifier [ number_literal ]) ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "double *pdVar15;" primitive_type (pointer_declarator "*pdVar15" * identifier) ;) (expression_statement "puVar17 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar17 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "local_3c = *(int *)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_3c = *(int *)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_003a9230" * (cast_expression "(int *)PTR___stack_chk_guard_003a9230" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834);" (assignment_expression "iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834)" identifier = (call_expression "(*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834)" (parenthesized_expression "(*(code *)PTR_GetImageArtifact_003a94c0)" ( (pointer_expression "*(code *)PTR_GetImageArtifact_003a94c0" * (cast_expression "(code *)PTR_GetImageArtifact_003a94c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834)" ( identifier , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834" identifier + number_literal) )))) ;) (if_statement "if (iVar3 == 0) {\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }\n  else {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }" { (expression_statement "iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);" (assignment_expression "iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820)" identifier = (call_expression "(*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820)" (parenthesized_expression "(*(code *)PTR_GetImageArtifact_003a94c0)" ( (pointer_expression "*(code *)PTR_GetImageArtifact_003a94c0" * (cast_expression "(code *)PTR_GetImageArtifact_003a94c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820)" ( identifier , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820" identifier + number_literal) )))) ;) }) (else_clause "else {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }" else (compound_statement "{\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }" { (expression_statement "(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);" (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0)" (parenthesized_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)" ( (pointer_expression "*(code *)PTR_InterpretLocaleValue_003a9768" * (cast_expression "(code *)PTR_InterpretLocaleValue_003a9768" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,0)" ( identifier , number_literal ))) ;) (expression_statement "iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);" (assignment_expression "iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820)" identifier = (call_expression "(*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820)" (parenthesized_expression "(*(code *)PTR_GetImageArtifact_003a94c0)" ( (pointer_expression "*(code *)PTR_GetImageArtifact_003a94c0" * (cast_expression "(code *)PTR_GetImageArtifact_003a94c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820)" ( identifier , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820" identifier + number_literal) )))) ;) }))) (if_statement "if (iVar3 != 0) {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n  }" { (expression_statement "(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);" (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0)" (parenthesized_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)" ( (pointer_expression "*(code *)PTR_InterpretLocaleValue_003a9768" * (cast_expression "(code *)PTR_InterpretLocaleValue_003a9768" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,0)" ( identifier , number_literal ))) ;) })) (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)\n            (auStack_103c,0x1000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x380c);" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)\n            (auStack_103c,0x1000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x380c)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003a8d7c" * (cast_expression "(code *)PTR_FormatLocaleString_003a8d7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_103c,0x1000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x380c)" ( identifier , number_literal , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x380c" identifier + number_literal) ))) ;) (expression_statement "iVar3 = (*(code *)PTR_AcquireKernelInfo_003a8fe4)(auStack_103c,param_4);" (assignment_expression "iVar3 = (*(code *)PTR_AcquireKernelInfo_003a8fe4)(auStack_103c,param_4)" identifier = (call_expression "(*(code *)PTR_AcquireKernelInfo_003a8fe4)(auStack_103c,param_4)" (parenthesized_expression "(*(code *)PTR_AcquireKernelInfo_003a8fe4)" ( (pointer_expression "*(code *)PTR_AcquireKernelInfo_003a8fe4" * (cast_expression "(code *)PTR_AcquireKernelInfo_003a8fe4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_103c,param_4)" ( identifier , identifier )))) ;) (if_statement "if (iVar3 == 0) {\n    pdVar12 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc);\n    uVar8 = 0;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4,pdVar12,0x581,400,\n               PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x340);\n    goto LAB_00071930;\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    pdVar12 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc);\n    uVar8 = 0;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4,pdVar12,0x581,400,\n               PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x340);\n    goto LAB_00071930;\n  }" { (expression_statement "pdVar12 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc);" (assignment_expression "pdVar12 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc)" identifier = (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc" identifier + number_literal) )))) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4,pdVar12,0x581,400,\n               PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x340);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4,pdVar12,0x581,400,\n               PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x340)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" ( (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" * (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4,pdVar12,0x581,400,\n               PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x340)" ( identifier , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4" identifier + number_literal) , identifier , number_literal , number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x16f8" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x3e28" identifier + number_literal) , (binary_expression "param_1 + 0x340" identifier + number_literal) ))) ;) (goto_statement "goto LAB_00071930;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc);" (assignment_expression "iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc)" identifier = (call_expression "(*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc)" (parenthesized_expression "(*(code *)PTR_GetImageArtifact_003a94c0)" ( (pointer_expression "*(code *)PTR_GetImageArtifact_003a94c0" * (cast_expression "(code *)PTR_GetImageArtifact_003a94c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc)" ( identifier , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n    dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538);\n    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar4 == 0) goto LAB_0007199c;\nLAB_000716d4:\n    dVar19 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);\n    dVar19 = dVar19 * dVar19;\n  }\n  else {\n    dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);\n    dVar18 = dVar18 * dVar18;\n    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar4 != 0) goto LAB_000716d4;\nLAB_0007199c:\n    dVar19 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538);\n    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar4 == 0) goto LAB_0007199c;\nLAB_000716d4:\n    dVar19 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);\n    dVar19 = dVar19 * dVar19;\n  }" { (expression_statement "dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538);" (assignment_expression "dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538)" identifier = (pointer_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538)" * (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);" (assignment_expression "iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc)" identifier = (call_expression "(*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc)" (parenthesized_expression "(*(code *)PTR_GetImageArtifact_003a94c0)" ( (pointer_expression "*(code *)PTR_GetImageArtifact_003a94c0" * (cast_expression "(code *)PTR_GetImageArtifact_003a94c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc)" ( identifier , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) goto LAB_0007199c;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0007199c;" goto statement_identifier ;)) (labeled_statement "LAB_000716d4:\n    dVar19 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);" statement_identifier : (expression_statement "dVar19 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);" (assignment_expression "dVar19 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0)" identifier = (cast_expression "(double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0)" (parenthesized_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)" ( (pointer_expression "*(code *)PTR_InterpretLocaleValue_003a9768" * (cast_expression "(code *)PTR_InterpretLocaleValue_003a9768" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4,0)" ( identifier , number_literal ))))) ;)) (expression_statement "dVar19 = dVar19 * dVar19;" (assignment_expression "dVar19 = dVar19 * dVar19" identifier = (binary_expression "dVar19 * dVar19" identifier * identifier)) ;) }) (else_clause "else {\n    dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);\n    dVar18 = dVar18 * dVar18;\n    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar4 != 0) goto LAB_000716d4;\nLAB_0007199c:\n    dVar19 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);\n  }" else (compound_statement "{\n    dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);\n    dVar18 = dVar18 * dVar18;\n    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar4 != 0) goto LAB_000716d4;\nLAB_0007199c:\n    dVar19 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);\n  }" { (expression_statement "dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);" (assignment_expression "dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0)" identifier = (cast_expression "(double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0)" (parenthesized_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)" ( (pointer_expression "*(code *)PTR_InterpretLocaleValue_003a9768" * (cast_expression "(code *)PTR_InterpretLocaleValue_003a9768" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4,0)" ( identifier , number_literal ))))) ;) (expression_statement "dVar18 = dVar18 * dVar18;" (assignment_expression "dVar18 = dVar18 * dVar18" identifier = (binary_expression "dVar18 * dVar18" identifier * identifier)) ;) (expression_statement "iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);" (assignment_expression "iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc)" identifier = (call_expression "(*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc)" (parenthesized_expression "(*(code *)PTR_GetImageArtifact_003a94c0)" ( (pointer_expression "*(code *)PTR_GetImageArtifact_003a94c0" * (cast_expression "(code *)PTR_GetImageArtifact_003a94c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc)" ( identifier , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc" identifier + number_literal) )))) ;) (if_statement "if (iVar4 != 0) goto LAB_000716d4;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000716d4;" goto statement_identifier ;)) (labeled_statement "LAB_0007199c:\n    dVar19 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);" statement_identifier : (expression_statement "dVar19 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);" (assignment_expression "dVar19 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530)" identifier = (pointer_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530)" * (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar11 = *(uint *)(param_1 + 0x1c);" (assignment_expression "uVar11 = *(uint *)(param_1 + 0x1c)" identifier = (pointer_expression "*(uint *)(param_1 + 0x1c)" * (cast_expression "(uint *)(param_1 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (*(uint *)(param_1 + 0x1c) <= *(uint *)(param_2 + 0x1c)) {\n    uVar11 = *(uint *)(param_2 + 0x1c);\n  }" if (parenthesized_expression "(*(uint *)(param_1 + 0x1c) <= *(uint *)(param_2 + 0x1c))" ( (binary_expression "*(uint *)(param_1 + 0x1c) <= *(uint *)(param_2 + 0x1c)" (pointer_expression "*(uint *)(param_1 + 0x1c)" * (cast_expression "(uint *)(param_1 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) <= (pointer_expression "*(uint *)(param_2 + 0x1c)" * (cast_expression "(uint *)(param_2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) ))))) )) (compound_statement "{\n    uVar11 = *(uint *)(param_2 + 0x1c);\n  }" { (expression_statement "uVar11 = *(uint *)(param_2 + 0x1c);" (assignment_expression "uVar11 = *(uint *)(param_2 + 0x1c)" identifier = (pointer_expression "*(uint *)(param_2 + 0x1c)" * (cast_expression "(uint *)(param_2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) ))))) ;) })) (expression_statement "uVar6 = *(uint *)(param_1 + 0x18);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x18)" identifier = (pointer_expression "*(uint *)(param_1 + 0x18)" * (cast_expression "(uint *)(param_1 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (*(uint *)(param_1 + 0x18) <= *(uint *)(param_2 + 0x18)) {\n    uVar6 = *(uint *)(param_2 + 0x18);\n  }" if (parenthesized_expression "(*(uint *)(param_1 + 0x18) <= *(uint *)(param_2 + 0x18))" ( (binary_expression "*(uint *)(param_1 + 0x18) <= *(uint *)(param_2 + 0x18)" (pointer_expression "*(uint *)(param_1 + 0x18)" * (cast_expression "(uint *)(param_1 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) <= (pointer_expression "*(uint *)(param_2 + 0x18)" * (cast_expression "(uint *)(param_2 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n    uVar6 = *(uint *)(param_2 + 0x18);\n  }" { (expression_statement "uVar6 = *(uint *)(param_2 + 0x18);" (assignment_expression "uVar6 = *(uint *)(param_2 + 0x18)" identifier = (pointer_expression "*(uint *)(param_2 + 0x18)" * (cast_expression "(uint *)(param_2 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) ))))) ;) })) (expression_statement "uVar5 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_1,param_4);" (assignment_expression "uVar5 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_1,param_4)" identifier = (call_expression "(*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_1,param_4)" (parenthesized_expression "(*(code *)PTR_AcquireVirtualCacheView_003a9754)" ( (pointer_expression "*(code *)PTR_AcquireVirtualCacheView_003a9754" * (cast_expression "(code *)PTR_AcquireVirtualCacheView_003a9754" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_4)" ( identifier , identifier )))) ;) (expression_statement "uVar7 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_4);" (assignment_expression "uVar7 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_4)" identifier = (call_expression "(*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_4)" (parenthesized_expression "(*(code *)PTR_AcquireVirtualCacheView_003a9754)" ( (pointer_expression "*(code *)PTR_AcquireVirtualCacheView_003a9754" * (cast_expression "(code *)PTR_AcquireVirtualCacheView_003a9754" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,param_4)" ( identifier , identifier )))) ;) (expression_statement "iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);" (assignment_expression "iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (((iVar4 == 4) || (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar4 == 3)\n      ) && ((iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 4 ||\n            (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3)))) {\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    uVar13 = uVar11;\n    if ((int)uVar11 < 0) {\n      uVar13 = uVar11 + 0x3f;\n    }\n    pdVar12 = (double *)((int)uVar13 >> 6);\n    if (extraout_v1 < (int)pdVar12) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_01 < 2;\n    }\n    else {\n      bVar1 = (int)uVar11 < 0x80;\n    }\n    if ((bool)(bVar1 ^ 1)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;\n    }\n    else {\n      pdVar12 = (double *)0x1;\n    }\n  }\n  else {\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n      uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }\n    }\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\nLAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pdVar12 = extraout_v1_00;\n    }\n    else {\n      pdVar12 = (double *)0x2;\n    }\n  }" if (parenthesized_expression "(((iVar4 == 4) || (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar4 == 3)\n      ) && ((iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 4 ||\n            (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3))))" ( (binary_expression "((iVar4 == 4) || (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar4 == 3)\n      ) && ((iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 4 ||\n            (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3)))" (parenthesized_expression "((iVar4 == 4) || (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar4 == 3)\n      )" ( (binary_expression "(iVar4 == 4) || (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar4 == 3)" (parenthesized_expression "(iVar4 == 4)" ( (binary_expression "iVar4 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar4 == 3)" ( (comma_expression "iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar4 == 3" (assignment_expression "iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) , (binary_expression "iVar4 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 4 ||\n            (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3)))" ( (parenthesized_expression "(iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 4 ||\n            (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3))" ( (comma_expression "iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 4 ||\n            (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3)" (assignment_expression "iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2)" ( identifier )))) , (binary_expression "iVar4 == 4 ||\n            (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3)" (binary_expression "iVar4 == 4" identifier == number_literal) || (parenthesized_expression "(iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3)" ( (comma_expression "iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3" (assignment_expression "iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2)" ( identifier )))) , (binary_expression "iVar4 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    uVar13 = uVar11;\n    if ((int)uVar11 < 0) {\n      uVar13 = uVar11 + 0x3f;\n    }\n    pdVar12 = (double *)((int)uVar13 >> 6);\n    if (extraout_v1 < (int)pdVar12) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_01 < 2;\n    }\n    else {\n      bVar1 = (int)uVar11 < 0x80;\n    }\n    if ((bool)(bVar1 ^ 1)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;\n    }\n    else {\n      pdVar12 = (double *)0x1;\n    }\n  }" { (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "uVar13 = uVar11;" (assignment_expression "uVar13 = uVar11" identifier = identifier) ;) (if_statement "if ((int)uVar11 < 0) {\n      uVar13 = uVar11 + 0x3f;\n    }" if (parenthesized_expression "((int)uVar11 < 0)" ( (binary_expression "(int)uVar11 < 0" (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      uVar13 = uVar11 + 0x3f;\n    }" { (expression_statement "uVar13 = uVar11 + 0x3f;" (assignment_expression "uVar13 = uVar11 + 0x3f" identifier = (binary_expression "uVar11 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "pdVar12 = (double *)((int)uVar13 >> 6);" (assignment_expression "pdVar12 = (double *)((int)uVar13 >> 6)" identifier = (cast_expression "(double *)((int)uVar13 >> 6)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)uVar13 >> 6)" ( (binary_expression "(int)uVar13 >> 6" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (if_statement "if (extraout_v1 < (int)pdVar12) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_01 < 2;\n    }\n    else {\n      bVar1 = (int)uVar11 < 0x80;\n    }" if (parenthesized_expression "(extraout_v1 < (int)pdVar12)" ( (binary_expression "extraout_v1 < (int)pdVar12" identifier < (cast_expression "(int)pdVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_01 < 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_01 < 2;" (assignment_expression "bVar1 = extraout_v1_01 < 2" identifier = (binary_expression "extraout_v1_01 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n      bVar1 = (int)uVar11 < 0x80;\n    }" else (compound_statement "{\n      bVar1 = (int)uVar11 < 0x80;\n    }" { (expression_statement "bVar1 = (int)uVar11 < 0x80;" (assignment_expression "bVar1 = (int)uVar11 < 0x80" identifier = (binary_expression "(int)uVar11 < 0x80" (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) ;) }))) (if_statement "if ((bool)(bVar1 ^ 1)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;\n    }\n    else {\n      pdVar12 = (double *)0x1;\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 *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;\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 ))) ;) (if_statement "if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;" if (parenthesized_expression "(extraout_v1_02 < (int)pdVar12)" ( (binary_expression "extraout_v1_02 < (int)pdVar12" identifier < (cast_expression "(int)pdVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00071af4;" goto statement_identifier ;)) }) (else_clause "else {\n      pdVar12 = (double *)0x1;\n    }" else (compound_statement "{\n      pdVar12 = (double *)0x1;\n    }" { (expression_statement "pdVar12 = (double *)0x1;" (assignment_expression "pdVar12 = (double *)0x1" identifier = (cast_expression "(double *)0x1" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }) (else_clause "else {\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n      uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }\n    }\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\nLAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pdVar12 = extraout_v1_00;\n    }\n    else {\n      pdVar12 = (double *)0x2;\n    }\n  }" else (compound_statement "{\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n      uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }\n    }\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\nLAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pdVar12 = extraout_v1_00;\n    }\n    else {\n      pdVar12 = (double *)0x2;\n    }\n  }" { (expression_statement "uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar20 = (*(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)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n      uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }\n    }" if (parenthesized_expression "(((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2))" ( (binary_expression "((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)" (parenthesized_expression "((int)((ulonglong)uVar20 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar20 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar20 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar20 >> 0x20)" ( (binary_expression "(ulonglong)uVar20 >> 0x20" (cast_expression "(ulonglong)uVar20" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar20 < 2)" ( (binary_expression "(uint)uVar20 < 2" (cast_expression "(uint)uVar20" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n      uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }\n    }" { (expression_statement "uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar20 = (*(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)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2))" ( (binary_expression "((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)" (parenthesized_expression "((int)((ulonglong)uVar20 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar20 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar20 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar20 >> 0x20)" ( (binary_expression "(ulonglong)uVar20 >> 0x20" (cast_expression "(ulonglong)uVar20" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar20 < 2)" ( (binary_expression "(uint)uVar20 < 2" (cast_expression "(uint)uVar20" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }" { (expression_statement "pdVar12 = (double *)0x1;" (assignment_expression "pdVar12 = (double *)0x1" identifier = (cast_expression "(double *)0x1" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000717a0;" goto statement_identifier ;) })) })) (expression_statement "uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar20 = (*(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)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\nLAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pdVar12 = extraout_v1_00;\n    }\n    else {\n      pdVar12 = (double *)0x2;\n    }" if (parenthesized_expression "(((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2))" ( (binary_expression "((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)" (parenthesized_expression "((int)((ulonglong)uVar20 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar20 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar20 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar20 >> 0x20)" ( (binary_expression "(ulonglong)uVar20 >> 0x20" (cast_expression "(ulonglong)uVar20" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar20 < 2)" ( (binary_expression "(uint)uVar20 < 2" (cast_expression "(uint)uVar20" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\nLAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pdVar12 = extraout_v1_00;\n    }" { (labeled_statement "LAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" statement_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 "pdVar12 = extraout_v1_00;" (assignment_expression "pdVar12 = extraout_v1_00" identifier = identifier) ;) }) (else_clause "else {\n      pdVar12 = (double *)0x2;\n    }" else (compound_statement "{\n      pdVar12 = (double *)0x2;\n    }" { (expression_statement "pdVar12 = (double *)0x2;" (assignment_expression "pdVar12 = (double *)0x2" identifier = (cast_expression "(double *)0x2" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }))) (labeled_statement "LAB_000717a0:\n  local_1044 = 1;" statement_identifier : (expression_statement "local_1044 = 1;" (assignment_expression "local_1044 = 1" identifier = number_literal) ;)) (expression_statement "local_1078 = dVar18;" (assignment_expression "local_1078 = dVar18" identifier = identifier) ;) (expression_statement "local_1070 = dVar19;" (assignment_expression "local_1070 = dVar19" identifier = identifier) ;) (expression_statement "local_1068 = param_1;" (assignment_expression "local_1068 = param_1" identifier = identifier) ;) (expression_statement "local_1064 = param_2;" (assignment_expression "local_1064 = param_2" identifier = identifier) ;) (expression_statement "local_1060 = param_3;" (assignment_expression "local_1060 = param_3" identifier = identifier) ;) (expression_statement "local_105c = param_4;" (assignment_expression "local_105c = param_4" identifier = identifier) ;) (expression_statement "local_1058 = uVar5;" (assignment_expression "local_1058 = uVar5" identifier = identifier) ;) (expression_statement "local_1054 = uVar7;" (assignment_expression "local_1054 = uVar7" identifier = identifier) ;) (expression_statement "local_1050 = iVar3;" (assignment_expression "local_1050 = iVar3" identifier = identifier) ;) (expression_statement "local_104c = uVar6;" (assignment_expression "local_104c = uVar6" identifier = identifier) ;) (expression_statement "local_1048 = uVar11;" (assignment_expression "local_1048 = uVar11" identifier = identifier) ;) (expression_statement "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8938 + 0x3244,&local_1078,pdVar12,0);" (call_expression "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8938 + 0x3244,&local_1078,pdVar12,0)" (parenthesized_expression "(*(code *)PTR_GOMP_parallel_003a9198)" ( (pointer_expression "*(code *)PTR_GOMP_parallel_003a9198" * (cast_expression "(code *)PTR_GOMP_parallel_003a9198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a8938 + 0x3244,&local_1078,pdVar12,0)" ( (binary_expression "PTR_LAB_003a8938 + 0x3244" identifier + number_literal) , (pointer_expression "&local_1078" & identifier) , identifier , number_literal ))) ;) (expression_statement "uVar8 = local_1044;" (assignment_expression "uVar8 = local_1044" identifier = identifier) ;) (expression_statement "(*(code *)PTR_DestroyCacheView_003a8ef4)(uVar5);" (call_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)(uVar5)" (parenthesized_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)" ( (pointer_expression "*(code *)PTR_DestroyCacheView_003a8ef4" * (cast_expression "(code *)PTR_DestroyCacheView_003a8ef4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar5)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_DestroyCacheView_003a8ef4)(uVar7);" (call_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)(uVar7)" (parenthesized_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)" ( (pointer_expression "*(code *)PTR_DestroyCacheView_003a8ef4" * (cast_expression "(code *)PTR_DestroyCacheView_003a8ef4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "iVar4 = *(int *)(param_1 + 0x2c0);" (assignment_expression "iVar4 = *(int *)(param_1 + 0x2c0)" identifier = (pointer_expression "*(int *)(param_1 + 0x2c0)" * (cast_expression "(int *)(param_1 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c0)" ( (binary_expression "param_1 + 0x2c0" identifier + number_literal) ))))) ;) (if_statement "if (iVar4 < 1) {\n    dVar18 = (double)(int)uVar11;\n    if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar19 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar18 = param_3[0x40] / (dVar18 * dVar19);\nLAB_00071a8c:\n    dVar19 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n  }\n  else {\n    piVar16 = *(int **)(param_1 + 0x2d0);\n    dVar18 = (double)(int)uVar11;\n    if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar19 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    piVar9 = piVar16;\n    pdVar12 = param_3;\n    do {\n      if ((piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0)) {\n        *pdVar12 = *pdVar12 / (dVar18 * dVar19);\n      }\n      piVar9 = piVar9 + 3;\n      pdVar12 = pdVar12 + 1;\n    } while (piVar16 + iVar4 * 3 != piVar9);\n    pdVar12 = (double *)0x0;\n    dVar18 = param_3[0x40] / (dVar18 * dVar19);\n    piVar10 = piVar16;\n    do {\n      if ((piVar16[*piVar10 * 3 + 1] & 2U) != 0) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }\n      piVar10 = piVar10 + 3;\n    } while (piVar10 != piVar9);\n    if (pdVar12 == (double *)0x0) goto LAB_00071a8c;\n    dVar19 = (double)(int)pdVar12;\n    if ((int)pdVar12 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n  }" if (parenthesized_expression "(iVar4 < 1)" ( (binary_expression "iVar4 < 1" identifier < number_literal) )) (compound_statement "{\n    dVar18 = (double)(int)uVar11;\n    if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar19 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar18 = param_3[0x40] / (dVar18 * dVar19);\nLAB_00071a8c:\n    dVar19 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n  }" { (expression_statement "dVar18 = (double)(int)uVar11;" (assignment_expression "dVar18 = (double)(int)uVar11" identifier = (cast_expression "(double)(int)uVar11" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" if (parenthesized_expression "((int)uVar11 < 0)" ( (binary_expression "(int)uVar11 < 0" (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" { (expression_statement "dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);" (assignment_expression "dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" identifier = (binary_expression "dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" identifier + (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1418)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1418)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1418)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1418" identifier + number_literal) )))))) ;) })) (expression_statement "dVar19 = (double)(int)uVar6;" (assignment_expression "dVar19 = (double)(int)uVar6" identifier = (cast_expression "(double)(int)uVar6" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" if (parenthesized_expression "((int)uVar6 < 0)" ( (binary_expression "(int)uVar6 < 0" (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" { (expression_statement "dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);" (assignment_expression "dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" identifier = (binary_expression "dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" identifier + (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1418)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1418)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1418)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1418" identifier + number_literal) )))))) ;) })) (expression_statement "dVar18 = param_3[0x40] / (dVar18 * dVar19);" (assignment_expression "dVar18 = param_3[0x40] / (dVar18 * dVar19)" identifier = (binary_expression "param_3[0x40] / (dVar18 * dVar19)" (subscript_expression "param_3[0x40]" identifier [ number_literal ]) / (parenthesized_expression "(dVar18 * dVar19)" ( (binary_expression "dVar18 * dVar19" identifier * identifier) )))) ;) (labeled_statement "LAB_00071a8c:\n    dVar19 = *(double *)(PTR_LAB_003a88e0 + 0x1438);" statement_identifier : (expression_statement "dVar19 = *(double *)(PTR_LAB_003a88e0 + 0x1438);" (assignment_expression "dVar19 = *(double *)(PTR_LAB_003a88e0 + 0x1438)" identifier = (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1438)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1438)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1438" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n    piVar16 = *(int **)(param_1 + 0x2d0);\n    dVar18 = (double)(int)uVar11;\n    if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar19 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    piVar9 = piVar16;\n    pdVar12 = param_3;\n    do {\n      if ((piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0)) {\n        *pdVar12 = *pdVar12 / (dVar18 * dVar19);\n      }\n      piVar9 = piVar9 + 3;\n      pdVar12 = pdVar12 + 1;\n    } while (piVar16 + iVar4 * 3 != piVar9);\n    pdVar12 = (double *)0x0;\n    dVar18 = param_3[0x40] / (dVar18 * dVar19);\n    piVar10 = piVar16;\n    do {\n      if ((piVar16[*piVar10 * 3 + 1] & 2U) != 0) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }\n      piVar10 = piVar10 + 3;\n    } while (piVar10 != piVar9);\n    if (pdVar12 == (double *)0x0) goto LAB_00071a8c;\n    dVar19 = (double)(int)pdVar12;\n    if ((int)pdVar12 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n  }" else (compound_statement "{\n    piVar16 = *(int **)(param_1 + 0x2d0);\n    dVar18 = (double)(int)uVar11;\n    if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar19 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    piVar9 = piVar16;\n    pdVar12 = param_3;\n    do {\n      if ((piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0)) {\n        *pdVar12 = *pdVar12 / (dVar18 * dVar19);\n      }\n      piVar9 = piVar9 + 3;\n      pdVar12 = pdVar12 + 1;\n    } while (piVar16 + iVar4 * 3 != piVar9);\n    pdVar12 = (double *)0x0;\n    dVar18 = param_3[0x40] / (dVar18 * dVar19);\n    piVar10 = piVar16;\n    do {\n      if ((piVar16[*piVar10 * 3 + 1] & 2U) != 0) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }\n      piVar10 = piVar10 + 3;\n    } while (piVar10 != piVar9);\n    if (pdVar12 == (double *)0x0) goto LAB_00071a8c;\n    dVar19 = (double)(int)pdVar12;\n    if ((int)pdVar12 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n  }" { (expression_statement "piVar16 = *(int **)(param_1 + 0x2d0);" (assignment_expression "piVar16 = *(int **)(param_1 + 0x2d0)" identifier = (pointer_expression "*(int **)(param_1 + 0x2d0)" * (cast_expression "(int **)(param_1 + 0x2d0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x2d0)" ( (binary_expression "param_1 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "dVar18 = (double)(int)uVar11;" (assignment_expression "dVar18 = (double)(int)uVar11" identifier = (cast_expression "(double)(int)uVar11" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" if (parenthesized_expression "((int)uVar11 < 0)" ( (binary_expression "(int)uVar11 < 0" (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" { (expression_statement "dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);" (assignment_expression "dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" identifier = (binary_expression "dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" identifier + (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1418)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1418)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1418)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1418" identifier + number_literal) )))))) ;) })) (expression_statement "dVar19 = (double)(int)uVar6;" (assignment_expression "dVar19 = (double)(int)uVar6" identifier = (cast_expression "(double)(int)uVar6" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" if (parenthesized_expression "((int)uVar6 < 0)" ( (binary_expression "(int)uVar6 < 0" (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" { (expression_statement "dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);" (assignment_expression "dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" identifier = (binary_expression "dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" identifier + (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1418)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1418)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1418)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1418" identifier + number_literal) )))))) ;) })) (expression_statement "piVar9 = piVar16;" (assignment_expression "piVar9 = piVar16" identifier = identifier) ;) (expression_statement "pdVar12 = param_3;" (assignment_expression "pdVar12 = param_3" identifier = identifier) ;) (do_statement "do {\n      if ((piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0)) {\n        *pdVar12 = *pdVar12 / (dVar18 * dVar19);\n      }\n      piVar9 = piVar9 + 3;\n      pdVar12 = pdVar12 + 1;\n    } while (piVar16 + iVar4 * 3 != piVar9);" do (compound_statement "{\n      if ((piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0)) {\n        *pdVar12 = *pdVar12 / (dVar18 * dVar19);\n      }\n      piVar9 = piVar9 + 3;\n      pdVar12 = pdVar12 + 1;\n    }" { (if_statement "if ((piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0)) {\n        *pdVar12 = *pdVar12 / (dVar18 * dVar19);\n      }" if (parenthesized_expression "((piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0))" ( (binary_expression "(piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0)" (parenthesized_expression "(piVar16[*piVar9 * 3 + 1] != 0)" ( (binary_expression "piVar16[*piVar9 * 3 + 1] != 0" (subscript_expression "piVar16[*piVar9 * 3 + 1]" identifier [ (binary_expression "*piVar9 * 3 + 1" (binary_expression "*piVar9 * 3" (pointer_expression "*piVar9" * identifier) * number_literal) + number_literal) ]) != number_literal) )) && (parenthesized_expression "((piVar16[*piVar9 * 3 + 1] & 2U) != 0)" ( (binary_expression "(piVar16[*piVar9 * 3 + 1] & 2U) != 0" (parenthesized_expression "(piVar16[*piVar9 * 3 + 1] & 2U)" ( (binary_expression "piVar16[*piVar9 * 3 + 1] & 2U" (subscript_expression "piVar16[*piVar9 * 3 + 1]" identifier [ (binary_expression "*piVar9 * 3 + 1" (binary_expression "*piVar9 * 3" (pointer_expression "*piVar9" * identifier) * number_literal) + number_literal) ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n        *pdVar12 = *pdVar12 / (dVar18 * dVar19);\n      }" { (expression_statement "*pdVar12 = *pdVar12 / (dVar18 * dVar19);" (assignment_expression "*pdVar12 = *pdVar12 / (dVar18 * dVar19)" (pointer_expression "*pdVar12" * identifier) = (binary_expression "*pdVar12 / (dVar18 * dVar19)" (pointer_expression "*pdVar12" * identifier) / (parenthesized_expression "(dVar18 * dVar19)" ( (binary_expression "dVar18 * dVar19" identifier * identifier) )))) ;) })) (expression_statement "piVar9 = piVar9 + 3;" (assignment_expression "piVar9 = piVar9 + 3" identifier = (binary_expression "piVar9 + 3" identifier + number_literal)) ;) (expression_statement "pdVar12 = pdVar12 + 1;" (assignment_expression "pdVar12 = pdVar12 + 1" identifier = (binary_expression "pdVar12 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar16 + iVar4 * 3 != piVar9)" ( (binary_expression "piVar16 + iVar4 * 3 != piVar9" (binary_expression "piVar16 + iVar4 * 3" identifier + (binary_expression "iVar4 * 3" identifier * number_literal)) != identifier) )) ;) (expression_statement "pdVar12 = (double *)0x0;" (assignment_expression "pdVar12 = (double *)0x0" identifier = (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "dVar18 = param_3[0x40] / (dVar18 * dVar19);" (assignment_expression "dVar18 = param_3[0x40] / (dVar18 * dVar19)" identifier = (binary_expression "param_3[0x40] / (dVar18 * dVar19)" (subscript_expression "param_3[0x40]" identifier [ number_literal ]) / (parenthesized_expression "(dVar18 * dVar19)" ( (binary_expression "dVar18 * dVar19" identifier * identifier) )))) ;) (expression_statement "piVar10 = piVar16;" (assignment_expression "piVar10 = piVar16" identifier = identifier) ;) (do_statement "do {\n      if ((piVar16[*piVar10 * 3 + 1] & 2U) != 0) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }\n      piVar10 = piVar10 + 3;\n    } while (piVar10 != piVar9);" do (compound_statement "{\n      if ((piVar16[*piVar10 * 3 + 1] & 2U) != 0) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }\n      piVar10 = piVar10 + 3;\n    }" { (if_statement "if ((piVar16[*piVar10 * 3 + 1] & 2U) != 0) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }" if (parenthesized_expression "((piVar16[*piVar10 * 3 + 1] & 2U) != 0)" ( (binary_expression "(piVar16[*piVar10 * 3 + 1] & 2U) != 0" (parenthesized_expression "(piVar16[*piVar10 * 3 + 1] & 2U)" ( (binary_expression "piVar16[*piVar10 * 3 + 1] & 2U" (subscript_expression "piVar16[*piVar10 * 3 + 1]" identifier [ (binary_expression "*piVar10 * 3 + 1" (binary_expression "*piVar10 * 3" (pointer_expression "*piVar10" * identifier) * number_literal) + number_literal) ]) & number_literal) )) != number_literal) )) (compound_statement "{\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }" { (expression_statement "pdVar12 = (double *)((int)pdVar12 + 1);" (assignment_expression "pdVar12 = (double *)((int)pdVar12 + 1)" identifier = (cast_expression "(double *)((int)pdVar12 + 1)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar12 + 1)" ( (binary_expression "(int)pdVar12 + 1" (cast_expression "(int)pdVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "piVar10 = piVar10 + 3;" (assignment_expression "piVar10 = piVar10 + 3" identifier = (binary_expression "piVar10 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar10 != piVar9)" ( (binary_expression "piVar10 != piVar9" identifier != identifier) )) ;) (if_statement "if (pdVar12 == (double *)0x0) goto LAB_00071a8c;" if (parenthesized_expression "(pdVar12 == (double *)0x0)" ( (binary_expression "pdVar12 == (double *)0x0" identifier == (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00071a8c;" goto statement_identifier ;)) (expression_statement "dVar19 = (double)(int)pdVar12;" (assignment_expression "dVar19 = (double)(int)pdVar12" identifier = (cast_expression "(double)(int)pdVar12" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)pdVar12" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((int)pdVar12 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" if (parenthesized_expression "((int)pdVar12 < 0)" ( (binary_expression "(int)pdVar12 < 0" (cast_expression "(int)pdVar12" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" { (expression_statement "dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);" (assignment_expression "dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" identifier = (binary_expression "dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" identifier + (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1418)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1418)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1418)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1418" identifier + number_literal) )))))) ;) })) }))) (expression_statement "puVar2 = PTR_DestroyKernelInfo_003a96a8;" (assignment_expression "puVar2 = PTR_DestroyKernelInfo_003a96a8" identifier = identifier) ;) (expression_statement "param_3[0x40] = dVar18 / dVar19;" (assignment_expression "param_3[0x40] = dVar18 / dVar19" (subscript_expression "param_3[0x40]" identifier [ number_literal ]) = (binary_expression "dVar18 / dVar19" identifier / identifier)) ;) (expression_statement "(*(code *)puVar2)(iVar3);" (call_expression "(*(code *)puVar2)(iVar3)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;) (labeled_statement "LAB_00071930:\n  if (local_3c == *(int *)puVar17) {\n    return uVar8;\n  }" statement_identifier : (if_statement "if (local_3c == *(int *)puVar17) {\n    return uVar8;\n  }" if (parenthesized_expression "(local_3c == *(int *)puVar17)" ( (binary_expression "local_3c == *(int *)puVar17" identifier == (pointer_expression "*(int *)puVar17" * (cast_expression "(int *)puVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return uVar8;\n  }" { (return_statement "return uVar8;" return identifier ;) }))) (expression_statement "puVar17 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar17 = 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 "uVar8 = FUN_0007157c();" (assignment_expression "uVar8 = FUN_0007157c()" identifier = (call_expression "FUN_0007157c()" identifier (argument_list "()" ( )))) ;) (expression_statement "dVar19 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1438);" (assignment_expression "dVar19 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1438)" identifier = (pointer_expression "*(double *)(*(int *)(puVar17 + 0x336d50) + 0x1438)" * (cast_expression "(double *)(*(int *)(puVar17 + 0x336d50) + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar17 + 0x336d50) + 0x1438)" ( (binary_expression "*(int *)(puVar17 + 0x336d50) + 0x1438" (pointer_expression "*(int *)(puVar17 + 0x336d50)" * (cast_expression "(int *)(puVar17 + 0x336d50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x336d50)" ( (binary_expression "puVar17 + 0x336d50" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar18 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1400);" (assignment_expression "dVar18 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1400)" identifier = (pointer_expression "*(double *)(*(int *)(puVar17 + 0x336d50) + 0x1400)" * (cast_expression "(double *)(*(int *)(puVar17 + 0x336d50) + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar17 + 0x336d50) + 0x1400)" ( (binary_expression "*(int *)(puVar17 + 0x336d50) + 0x1400" (pointer_expression "*(int *)(puVar17 + 0x336d50)" * (cast_expression "(int *)(puVar17 + 0x336d50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x336d50)" ( (binary_expression "puVar17 + 0x336d50" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "pdVar14 = pdVar12;" (assignment_expression "pdVar14 = pdVar12" identifier = identifier) ;) (do_statement "do {\n    pdVar15 = pdVar14 + 1;\n    *pdVar14 = (dVar19 - *pdVar14) * dVar18;\n    pdVar14 = pdVar15;\n  } while (pdVar15 != pdVar12 + 0x41);" do (compound_statement "{\n    pdVar15 = pdVar14 + 1;\n    *pdVar14 = (dVar19 - *pdVar14) * dVar18;\n    pdVar14 = pdVar15;\n  }" { (expression_statement "pdVar15 = pdVar14 + 1;" (assignment_expression "pdVar15 = pdVar14 + 1" identifier = (binary_expression "pdVar14 + 1" identifier + number_literal)) ;) (expression_statement "*pdVar14 = (dVar19 - *pdVar14) * dVar18;" (assignment_expression "*pdVar14 = (dVar19 - *pdVar14) * dVar18" (pointer_expression "*pdVar14" * identifier) = (binary_expression "(dVar19 - *pdVar14) * dVar18" (parenthesized_expression "(dVar19 - *pdVar14)" ( (binary_expression "dVar19 - *pdVar14" identifier - (pointer_expression "*pdVar14" * identifier)) )) * identifier)) ;) (expression_statement "pdVar14 = pdVar15;" (assignment_expression "pdVar14 = pdVar15" identifier = identifier) ;) }) while (parenthesized_expression "(pdVar15 != pdVar12 + 0x41)" ( (binary_expression "pdVar15 != pdVar12 + 0x41" identifier != (binary_expression "pdVar12 + 0x41" identifier + number_literal)) )) ;) (return_statement "return uVar8;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE 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 *)) ) IDENT))) ;) (expression_statement (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) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression 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 ( IDENT , (binary_expression IDENT + LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( 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 , (binary_expression IDENT + LIT) )))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (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 , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT , LIT , LIT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (binary_expression IDENT + 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 ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (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) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) , (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) )))) )) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT)) ;) }))) (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) }) (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 { (labeled_statement statement_identifier : (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 = 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) ;) (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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression & IDENT) , IDENT , LIT ))) ;) (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 ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_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) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) / (parenthesized_expression ( (binary_expression IDENT * IDENT) )))) ;) (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) ))))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_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) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_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) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression (binary_expression (pointer_expression * IDENT) * LIT) + LIT) ]) != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression (binary_expression (pointer_expression * IDENT) * LIT) + LIT) ]) & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) / (parenthesized_expression ( (binary_expression IDENT * IDENT) )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) / (parenthesized_expression ( (binary_expression IDENT * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression (binary_expression (pointer_expression * IDENT) * LIT) + LIT) ]) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_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 (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT / IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (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 = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (parenthesized_expression ( (binary_expression IDENT - (pointer_expression * IDENT)) )) * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + LIT)) )) ;) (return_statement return IDENT ;) })))
(function_definition "undefined4 FUN_0007157c(int param_1,int param_2,double *param_3,undefined4 param_4)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  int *piVar9;\n  int extraout_v1;\n  double *extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  int *piVar10;\n  uint uVar11;\n  double *pdVar12;\n  uint uVar13;\n  double *pdVar14;\n  int *piVar16;\n  undefined *puVar17;\n  double dVar18;\n  double dVar19;\n  undefined8 uVar20;\n  double local_1078;\n  double local_1070;\n  int local_1068;\n  int local_1064;\n  double *local_1060;\n  undefined4 local_105c;\n  undefined4 local_1058;\n  undefined4 local_1054;\n  int local_1050;\n  uint local_104c;\n  uint local_1048;\n  undefined4 local_1044;\n  undefined1 auStack_103c [4096];\n  int local_3c;\n  uint uVar6;\n  double *pdVar15;\n  \n  puVar17 = PTR___stack_chk_guard_003a9230;\n  local_3c = *(int *)PTR___stack_chk_guard_003a9230;\n  iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834);\n  if (iVar3 == 0) {\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }\n  else {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }\n  if (iVar3 != 0) {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n  }\n  (*(code *)PTR_FormatLocaleString_003a8d7c)\n            (auStack_103c,0x1000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x380c);\n  iVar3 = (*(code *)PTR_AcquireKernelInfo_003a8fe4)(auStack_103c,param_4);\n  if (iVar3 == 0) {\n    pdVar12 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc);\n    uVar8 = 0;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4,pdVar12,0x581,400,\n               PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x340);\n    goto LAB_00071930;\n  }\n  iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc);\n  if (iVar4 == 0) {\n    dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538);\n    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar4 == 0) goto LAB_0007199c;\nLAB_000716d4:\n    dVar19 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);\n    dVar19 = dVar19 * dVar19;\n  }\n  else {\n    dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);\n    dVar18 = dVar18 * dVar18;\n    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar4 != 0) goto LAB_000716d4;\nLAB_0007199c:\n    dVar19 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);\n  }\n  uVar11 = *(uint *)(param_1 + 0x1c);\n  if (*(uint *)(param_1 + 0x1c) <= *(uint *)(param_2 + 0x1c)) {\n    uVar11 = *(uint *)(param_2 + 0x1c);\n  }\n  uVar6 = *(uint *)(param_1 + 0x18);\n  if (*(uint *)(param_1 + 0x18) <= *(uint *)(param_2 + 0x18)) {\n    uVar6 = *(uint *)(param_2 + 0x18);\n  }\n  uVar5 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_1,param_4);\n  uVar7 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_4);\n  iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);\n  if (((iVar4 == 4) || (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar4 == 3)\n      ) && ((iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 4 ||\n            (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3)))) {\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    uVar13 = uVar11;\n    if ((int)uVar11 < 0) {\n      uVar13 = uVar11 + 0x3f;\n    }\n    pdVar12 = (double *)((int)uVar13 >> 6);\n    if (extraout_v1 < (int)pdVar12) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_01 < 2;\n    }\n    else {\n      bVar1 = (int)uVar11 < 0x80;\n    }\n    if ((bool)(bVar1 ^ 1)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;\n    }\n    else {\n      pdVar12 = (double *)0x1;\n    }\n  }\n  else {\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n      uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }\n    }\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\nLAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pdVar12 = extraout_v1_00;\n    }\n    else {\n      pdVar12 = (double *)0x2;\n    }\n  }\nLAB_000717a0:\n  local_1044 = 1;\n  local_1078 = dVar18;\n  local_1070 = dVar19;\n  local_1068 = param_1;\n  local_1064 = param_2;\n  local_1060 = param_3;\n  local_105c = param_4;\n  local_1058 = uVar5;\n  local_1054 = uVar7;\n  local_1050 = iVar3;\n  local_104c = uVar6;\n  local_1048 = uVar11;\n  (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8938 + 0x3244,&local_1078,pdVar12,0);\n  uVar8 = local_1044;\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(uVar5);\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(uVar7);\n  iVar4 = *(int *)(param_1 + 0x2c0);\n  if (iVar4 < 1) {\n    dVar18 = (double)(int)uVar11;\n    if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar19 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar18 = param_3[0x40] / (dVar18 * dVar19);\nLAB_00071a8c:\n    dVar19 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n  }\n  else {\n    piVar16 = *(int **)(param_1 + 0x2d0);\n    dVar18 = (double)(int)uVar11;\n    if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar19 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    piVar9 = piVar16;\n    pdVar12 = param_3;\n    do {\n      if ((piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0)) {\n        *pdVar12 = *pdVar12 / (dVar18 * dVar19);\n      }\n      piVar9 = piVar9 + 3;\n      pdVar12 = pdVar12 + 1;\n    } while (piVar16 + iVar4 * 3 != piVar9);\n    pdVar12 = (double *)0x0;\n    dVar18 = param_3[0x40] / (dVar18 * dVar19);\n    piVar10 = piVar16;\n    do {\n      if ((piVar16[*piVar10 * 3 + 1] & 2U) != 0) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }\n      piVar10 = piVar10 + 3;\n    } while (piVar10 != piVar9);\n    if (pdVar12 == (double *)0x0) goto LAB_00071a8c;\n    dVar19 = (double)(int)pdVar12;\n    if ((int)pdVar12 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n  }\n  puVar2 = PTR_DestroyKernelInfo_003a96a8;\n  param_3[0x40] = dVar18 / dVar19;\n  (*(code *)puVar2)(iVar3);\nLAB_00071930:\n  if (local_3c == *(int *)puVar17) {\n    return uVar8;\n  }\n  puVar17 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  uVar8 = FUN_0007157c();\n  dVar19 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1438);\n  dVar18 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1400);\n  pdVar14 = pdVar12;\n  do {\n    pdVar15 = pdVar14 + 1;\n    *pdVar14 = (dVar19 - *pdVar14) * dVar18;\n    pdVar14 = pdVar15;\n  } while (pdVar15 != pdVar12 + 0x41);\n  return uVar8;\n}" (type_identifier "undefined4") (function_declarator "FUN_0007157c(int param_1,int param_2,double *param_3,undefined4 param_4)" (identifier "FUN_0007157c") (parameter_list "(int param_1,int param_2,double *param_3,undefined4 param_4)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "double *param_3" (primitive_type "double") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) () ")"))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  int *piVar9;\n  int extraout_v1;\n  double *extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  int *piVar10;\n  uint uVar11;\n  double *pdVar12;\n  uint uVar13;\n  double *pdVar14;\n  int *piVar16;\n  undefined *puVar17;\n  double dVar18;\n  double dVar19;\n  undefined8 uVar20;\n  double local_1078;\n  double local_1070;\n  int local_1068;\n  int local_1064;\n  double *local_1060;\n  undefined4 local_105c;\n  undefined4 local_1058;\n  undefined4 local_1054;\n  int local_1050;\n  uint local_104c;\n  uint local_1048;\n  undefined4 local_1044;\n  undefined1 auStack_103c [4096];\n  int local_3c;\n  uint uVar6;\n  double *pdVar15;\n  \n  puVar17 = PTR___stack_chk_guard_003a9230;\n  local_3c = *(int *)PTR___stack_chk_guard_003a9230;\n  iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834);\n  if (iVar3 == 0) {\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }\n  else {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }\n  if (iVar3 != 0) {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n  }\n  (*(code *)PTR_FormatLocaleString_003a8d7c)\n            (auStack_103c,0x1000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x380c);\n  iVar3 = (*(code *)PTR_AcquireKernelInfo_003a8fe4)(auStack_103c,param_4);\n  if (iVar3 == 0) {\n    pdVar12 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc);\n    uVar8 = 0;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4,pdVar12,0x581,400,\n               PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x340);\n    goto LAB_00071930;\n  }\n  iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc);\n  if (iVar4 == 0) {\n    dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538);\n    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar4 == 0) goto LAB_0007199c;\nLAB_000716d4:\n    dVar19 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);\n    dVar19 = dVar19 * dVar19;\n  }\n  else {\n    dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);\n    dVar18 = dVar18 * dVar18;\n    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar4 != 0) goto LAB_000716d4;\nLAB_0007199c:\n    dVar19 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);\n  }\n  uVar11 = *(uint *)(param_1 + 0x1c);\n  if (*(uint *)(param_1 + 0x1c) <= *(uint *)(param_2 + 0x1c)) {\n    uVar11 = *(uint *)(param_2 + 0x1c);\n  }\n  uVar6 = *(uint *)(param_1 + 0x18);\n  if (*(uint *)(param_1 + 0x18) <= *(uint *)(param_2 + 0x18)) {\n    uVar6 = *(uint *)(param_2 + 0x18);\n  }\n  uVar5 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_1,param_4);\n  uVar7 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_4);\n  iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);\n  if (((iVar4 == 4) || (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar4 == 3)\n      ) && ((iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 4 ||\n            (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3)))) {\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    uVar13 = uVar11;\n    if ((int)uVar11 < 0) {\n      uVar13 = uVar11 + 0x3f;\n    }\n    pdVar12 = (double *)((int)uVar13 >> 6);\n    if (extraout_v1 < (int)pdVar12) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_01 < 2;\n    }\n    else {\n      bVar1 = (int)uVar11 < 0x80;\n    }\n    if ((bool)(bVar1 ^ 1)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;\n    }\n    else {\n      pdVar12 = (double *)0x1;\n    }\n  }\n  else {\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n      uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }\n    }\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\nLAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pdVar12 = extraout_v1_00;\n    }\n    else {\n      pdVar12 = (double *)0x2;\n    }\n  }\nLAB_000717a0:\n  local_1044 = 1;\n  local_1078 = dVar18;\n  local_1070 = dVar19;\n  local_1068 = param_1;\n  local_1064 = param_2;\n  local_1060 = param_3;\n  local_105c = param_4;\n  local_1058 = uVar5;\n  local_1054 = uVar7;\n  local_1050 = iVar3;\n  local_104c = uVar6;\n  local_1048 = uVar11;\n  (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8938 + 0x3244,&local_1078,pdVar12,0);\n  uVar8 = local_1044;\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(uVar5);\n  (*(code *)PTR_DestroyCacheView_003a8ef4)(uVar7);\n  iVar4 = *(int *)(param_1 + 0x2c0);\n  if (iVar4 < 1) {\n    dVar18 = (double)(int)uVar11;\n    if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar19 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar18 = param_3[0x40] / (dVar18 * dVar19);\nLAB_00071a8c:\n    dVar19 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n  }\n  else {\n    piVar16 = *(int **)(param_1 + 0x2d0);\n    dVar18 = (double)(int)uVar11;\n    if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar19 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    piVar9 = piVar16;\n    pdVar12 = param_3;\n    do {\n      if ((piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0)) {\n        *pdVar12 = *pdVar12 / (dVar18 * dVar19);\n      }\n      piVar9 = piVar9 + 3;\n      pdVar12 = pdVar12 + 1;\n    } while (piVar16 + iVar4 * 3 != piVar9);\n    pdVar12 = (double *)0x0;\n    dVar18 = param_3[0x40] / (dVar18 * dVar19);\n    piVar10 = piVar16;\n    do {\n      if ((piVar16[*piVar10 * 3 + 1] & 2U) != 0) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }\n      piVar10 = piVar10 + 3;\n    } while (piVar10 != piVar9);\n    if (pdVar12 == (double *)0x0) goto LAB_00071a8c;\n    dVar19 = (double)(int)pdVar12;\n    if ((int)pdVar12 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n  }\n  puVar2 = PTR_DestroyKernelInfo_003a96a8;\n  param_3[0x40] = dVar18 / dVar19;\n  (*(code *)puVar2)(iVar3);\nLAB_00071930:\n  if (local_3c == *(int *)puVar17) {\n    return uVar8;\n  }\n  puVar17 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  uVar8 = FUN_0007157c();\n  dVar19 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1438);\n  dVar18 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1400);\n  pdVar14 = pdVar12;\n  do {\n    pdVar15 = pdVar14 + 1;\n    *pdVar14 = (dVar19 - *pdVar14) * dVar18;\n    pdVar14 = pdVar15;\n  } while (pdVar15 != pdVar12 + 0x41);\n  return uVar8;\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "int extraout_v1;" (primitive_type "int") (identifier "extraout_v1") (; ";")) (declaration "double *extraout_v1_00;" (primitive_type "double") (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 "int *piVar10;" (primitive_type "int") (pointer_declarator "*piVar10" (* "*") (identifier "piVar10")) (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "double *pdVar12;" (primitive_type "double") (pointer_declarator "*pdVar12" (* "*") (identifier "pdVar12")) (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "double *pdVar14;" (primitive_type "double") (pointer_declarator "*pdVar14" (* "*") (identifier "pdVar14")) (; ";")) (declaration "int *piVar16;" (primitive_type "int") (pointer_declarator "*piVar16" (* "*") (identifier "piVar16")) (; ";")) (declaration "undefined *puVar17;" (type_identifier "undefined") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "double dVar18;" (primitive_type "double") (identifier "dVar18") (; ";")) (declaration "double dVar19;" (primitive_type "double") (identifier "dVar19") (; ";")) (declaration "undefined8 uVar20;" (type_identifier "undefined8") (identifier "uVar20") (; ";")) (declaration "double local_1078;" (primitive_type "double") (identifier "local_1078") (; ";")) (declaration "double local_1070;" (primitive_type "double") (identifier "local_1070") (; ";")) (declaration "int local_1068;" (primitive_type "int") (identifier "local_1068") (; ";")) (declaration "int local_1064;" (primitive_type "int") (identifier "local_1064") (; ";")) (declaration "double *local_1060;" (primitive_type "double") (pointer_declarator "*local_1060" (* "*") (identifier "local_1060")) (; ";")) (declaration "undefined4 local_105c;" (type_identifier "undefined4") (identifier "local_105c") (; ";")) (declaration "undefined4 local_1058;" (type_identifier "undefined4") (identifier "local_1058") (; ";")) (declaration "undefined4 local_1054;" (type_identifier "undefined4") (identifier "local_1054") (; ";")) (declaration "int local_1050;" (primitive_type "int") (identifier "local_1050") (; ";")) (declaration "uint local_104c;" (type_identifier "uint") (identifier "local_104c") (; ";")) (declaration "uint local_1048;" (type_identifier "uint") (identifier "local_1048") (; ";")) (declaration "undefined4 local_1044;" (type_identifier "undefined4") (identifier "local_1044") (; ";")) (declaration "undefined1 auStack_103c [4096];" (type_identifier "undefined1") (array_declarator "auStack_103c [4096]" (identifier "auStack_103c") ([ "[") (number_literal "4096") (] "]")) (; ";")) (declaration "int local_3c;" (primitive_type "int") (identifier "local_3c") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "double *pdVar15;" (primitive_type "double") (pointer_declarator "*pdVar15" (* "*") (identifier "pdVar15")) (; ";")) (expression_statement "puVar17 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar17 = PTR___stack_chk_guard_003a9230" (identifier "puVar17") (= "=") (identifier "PTR___stack_chk_guard_003a9230")) (; ";")) (expression_statement "local_3c = *(int *)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_3c = *(int *)PTR___stack_chk_guard_003a9230" (identifier "local_3c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_003a9230" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_003a9230" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_003a9230")))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834);" (assignment_expression "iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834)" (parenthesized_expression "(*(code *)PTR_GetImageArtifact_003a94c0)" (( "(") (pointer_expression "*(code *)PTR_GetImageArtifact_003a94c0" (* "*") (cast_expression "(code *)PTR_GetImageArtifact_003a94c0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetImageArtifact_003a94c0"))) () ")")) (argument_list "(param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834)" (( "(") (identifier "param_1") (, ",") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "-0x3834")) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }\n  else {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }" ({ "{") (expression_statement "iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);" (assignment_expression "iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820)" (parenthesized_expression "(*(code *)PTR_GetImageArtifact_003a94c0)" (( "(") (pointer_expression "*(code *)PTR_GetImageArtifact_003a94c0" (* "*") (cast_expression "(code *)PTR_GetImageArtifact_003a94c0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetImageArtifact_003a94c0"))) () ")")) (argument_list "(param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820)" (( "(") (identifier "param_1") (, ",") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "-0x3820")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }" (else "else") (compound_statement "{\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);\n  }" ({ "{") (expression_statement "(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);" (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0)" (parenthesized_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)" (( "(") (pointer_expression "*(code *)PTR_InterpretLocaleValue_003a9768" (* "*") (cast_expression "(code *)PTR_InterpretLocaleValue_003a9768" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_InterpretLocaleValue_003a9768"))) () ")")) (argument_list "(iVar3,0)" (( "(") (identifier "iVar3") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);" (assignment_expression "iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820)" (parenthesized_expression "(*(code *)PTR_GetImageArtifact_003a94c0)" (( "(") (pointer_expression "*(code *)PTR_GetImageArtifact_003a94c0" (* "*") (cast_expression "(code *)PTR_GetImageArtifact_003a94c0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetImageArtifact_003a94c0"))) () ")")) (argument_list "(param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820)" (( "(") (identifier "param_1") (, ",") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "-0x3820")) () ")")))) (; ";")) (} "}")))) (if_statement "if (iVar3 != 0) {\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n  }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);\n  }" ({ "{") (expression_statement "(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);" (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0)" (parenthesized_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)" (( "(") (pointer_expression "*(code *)PTR_InterpretLocaleValue_003a9768" (* "*") (cast_expression "(code *)PTR_InterpretLocaleValue_003a9768" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_InterpretLocaleValue_003a9768"))) () ")")) (argument_list "(iVar3,0)" (( "(") (identifier "iVar3") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)\n            (auStack_103c,0x1000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x380c);" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)\n            (auStack_103c,0x1000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x380c)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)" (( "(") (pointer_expression "*(code *)PTR_FormatLocaleString_003a8d7c" (* "*") (cast_expression "(code *)PTR_FormatLocaleString_003a8d7c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FormatLocaleString_003a8d7c"))) () ")")) (argument_list "(auStack_103c,0x1000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x380c)" (( "(") (identifier "auStack_103c") (, ",") (number_literal "0x1000") (, ",") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x380c" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "-0x380c")) () ")"))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_AcquireKernelInfo_003a8fe4)(auStack_103c,param_4);" (assignment_expression "iVar3 = (*(code *)PTR_AcquireKernelInfo_003a8fe4)(auStack_103c,param_4)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_AcquireKernelInfo_003a8fe4)(auStack_103c,param_4)" (parenthesized_expression "(*(code *)PTR_AcquireKernelInfo_003a8fe4)" (( "(") (pointer_expression "*(code *)PTR_AcquireKernelInfo_003a8fe4" (* "*") (cast_expression "(code *)PTR_AcquireKernelInfo_003a8fe4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_AcquireKernelInfo_003a8fe4"))) () ")")) (argument_list "(auStack_103c,param_4)" (( "(") (identifier "auStack_103c") (, ",") (identifier "param_4") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n    pdVar12 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc);\n    uVar8 = 0;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4,pdVar12,0x581,400,\n               PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x340);\n    goto LAB_00071930;\n  }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    pdVar12 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc);\n    uVar8 = 0;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4,pdVar12,0x581,400,\n               PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x340);\n    goto LAB_00071930;\n  }" ({ "{") (expression_statement "pdVar12 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc);" (assignment_expression "pdVar12 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc)" (identifier "pdVar12") (= "=") (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc)" (( "(") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "-0x35bc")) () ")")))) (; ";")) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4,pdVar12,0x581,400,\n               PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x340);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4,pdVar12,0x581,400,\n               PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x340)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" (( "(") (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" (* "*") (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ThrowMagickException_003a8f20"))) () ")")) (argument_list "(param_4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4,pdVar12,0x581,400,\n               PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x340)" (( "(") (identifier "param_4") (, ",") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "-0x37f4")) (, ",") (identifier "pdVar12") (, ",") (number_literal "0x581") (, ",") (number_literal "400") (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x16f8" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x16f8")) (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x3e28" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x3e28")) (, ",") (binary_expression "param_1 + 0x340" (identifier "param_1") (+ "+") (number_literal "0x340")) () ")"))) (; ";")) (goto_statement "goto LAB_00071930;" (goto "goto") (statement_identifier "LAB_00071930") (; ";")) (} "}"))) (expression_statement "iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc);" (assignment_expression "iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_GetImageArtifact_003a94c0)\n                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc)" (parenthesized_expression "(*(code *)PTR_GetImageArtifact_003a94c0)" (( "(") (pointer_expression "*(code *)PTR_GetImageArtifact_003a94c0" (* "*") (cast_expression "(code *)PTR_GetImageArtifact_003a94c0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetImageArtifact_003a94c0"))) () ")")) (argument_list "(param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc)" (( "(") (identifier "param_1") (, ",") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "-0x37dc")) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n    dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538);\n    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar4 == 0) goto LAB_0007199c;\nLAB_000716d4:\n    dVar19 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);\n    dVar19 = dVar19 * dVar19;\n  }\n  else {\n    dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);\n    dVar18 = dVar18 * dVar18;\n    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar4 != 0) goto LAB_000716d4;\nLAB_0007199c:\n    dVar19 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);\n  }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538);\n    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar4 == 0) goto LAB_0007199c;\nLAB_000716d4:\n    dVar19 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);\n    dVar19 = dVar19 * dVar19;\n  }" ({ "{") (expression_statement "dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538);" (assignment_expression "dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538)" (identifier "dVar18") (= "=") (pointer_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538)" (* "*") (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538)" (( "(") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "-0x3538")) () ")"))))) (; ";")) (expression_statement "iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);" (assignment_expression "iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc)" (parenthesized_expression "(*(code *)PTR_GetImageArtifact_003a94c0)" (( "(") (pointer_expression "*(code *)PTR_GetImageArtifact_003a94c0" (* "*") (cast_expression "(code *)PTR_GetImageArtifact_003a94c0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetImageArtifact_003a94c0"))) () ")")) (argument_list "(param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc)" (( "(") (identifier "param_1") (, ",") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "-0x37cc")) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) goto LAB_0007199c;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0007199c;" (goto "goto") (statement_identifier "LAB_0007199c") (; ";"))) (labeled_statement "LAB_000716d4:\n    dVar19 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);" (statement_identifier "LAB_000716d4") (: ":") (expression_statement "dVar19 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);" (assignment_expression "dVar19 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0)" (identifier "dVar19") (= "=") (cast_expression "(double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0)" (parenthesized_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)" (( "(") (pointer_expression "*(code *)PTR_InterpretLocaleValue_003a9768" (* "*") (cast_expression "(code *)PTR_InterpretLocaleValue_003a9768" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_InterpretLocaleValue_003a9768"))) () ")")) (argument_list "(iVar4,0)" (( "(") (identifier "iVar4") (, ",") (number_literal "0") () ")"))))) (; ";"))) (expression_statement "dVar19 = dVar19 * dVar19;" (assignment_expression "dVar19 = dVar19 * dVar19" (identifier "dVar19") (= "=") (binary_expression "dVar19 * dVar19" (identifier "dVar19") (* "*") (identifier "dVar19"))) (; ";")) (} "}")) (else_clause "else {\n    dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);\n    dVar18 = dVar18 * dVar18;\n    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar4 != 0) goto LAB_000716d4;\nLAB_0007199c:\n    dVar19 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);\n  }" (else "else") (compound_statement "{\n    dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);\n    dVar18 = dVar18 * dVar18;\n    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);\n    if (iVar4 != 0) goto LAB_000716d4;\nLAB_0007199c:\n    dVar19 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);\n  }" ({ "{") (expression_statement "dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);" (assignment_expression "dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0)" (identifier "dVar18") (= "=") (cast_expression "(double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0)" (parenthesized_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)" (( "(") (pointer_expression "*(code *)PTR_InterpretLocaleValue_003a9768" (* "*") (cast_expression "(code *)PTR_InterpretLocaleValue_003a9768" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_InterpretLocaleValue_003a9768"))) () ")")) (argument_list "(iVar4,0)" (( "(") (identifier "iVar4") (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "dVar18 = dVar18 * dVar18;" (assignment_expression "dVar18 = dVar18 * dVar18" (identifier "dVar18") (= "=") (binary_expression "dVar18 * dVar18" (identifier "dVar18") (* "*") (identifier "dVar18"))) (; ";")) (expression_statement "iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);" (assignment_expression "iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_GetImageArtifact_003a94c0)\n                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc)" (parenthesized_expression "(*(code *)PTR_GetImageArtifact_003a94c0)" (( "(") (pointer_expression "*(code *)PTR_GetImageArtifact_003a94c0" (* "*") (cast_expression "(code *)PTR_GetImageArtifact_003a94c0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetImageArtifact_003a94c0"))) () ")")) (argument_list "(param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc)" (( "(") (identifier "param_1") (, ",") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "-0x37cc")) () ")")))) (; ";")) (if_statement "if (iVar4 != 0) goto LAB_000716d4;" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000716d4;" (goto "goto") (statement_identifier "LAB_000716d4") (; ";"))) (labeled_statement "LAB_0007199c:\n    dVar19 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);" (statement_identifier "LAB_0007199c") (: ":") (expression_statement "dVar19 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);" (assignment_expression "dVar19 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530)" (identifier "dVar19") (= "=") (pointer_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530)" (* "*") (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530)" (( "(") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "-0x3530")) () ")"))))) (; ";"))) (} "}")))) (expression_statement "uVar11 = *(uint *)(param_1 + 0x1c);" (assignment_expression "uVar11 = *(uint *)(param_1 + 0x1c)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(param_1 + 0x1c)" (* "*") (cast_expression "(uint *)(param_1 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (*(uint *)(param_1 + 0x1c) <= *(uint *)(param_2 + 0x1c)) {\n    uVar11 = *(uint *)(param_2 + 0x1c);\n  }" (if "if") (parenthesized_expression "(*(uint *)(param_1 + 0x1c) <= *(uint *)(param_2 + 0x1c))" (( "(") (binary_expression "*(uint *)(param_1 + 0x1c) <= *(uint *)(param_2 + 0x1c)" (pointer_expression "*(uint *)(param_1 + 0x1c)" (* "*") (cast_expression "(uint *)(param_1 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")")))) (<= "<=") (pointer_expression "*(uint *)(param_2 + 0x1c)" (* "*") (cast_expression "(uint *)(param_2 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1c)" (( "(") (binary_expression "param_2 + 0x1c" (identifier "param_2") (+ "+") (number_literal "0x1c")) () ")"))))) () ")")) (compound_statement "{\n    uVar11 = *(uint *)(param_2 + 0x1c);\n  }" ({ "{") (expression_statement "uVar11 = *(uint *)(param_2 + 0x1c);" (assignment_expression "uVar11 = *(uint *)(param_2 + 0x1c)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(param_2 + 0x1c)" (* "*") (cast_expression "(uint *)(param_2 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1c)" (( "(") (binary_expression "param_2 + 0x1c" (identifier "param_2") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (} "}"))) (expression_statement "uVar6 = *(uint *)(param_1 + 0x18);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x18)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(param_1 + 0x18)" (* "*") (cast_expression "(uint *)(param_1 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (*(uint *)(param_1 + 0x18) <= *(uint *)(param_2 + 0x18)) {\n    uVar6 = *(uint *)(param_2 + 0x18);\n  }" (if "if") (parenthesized_expression "(*(uint *)(param_1 + 0x18) <= *(uint *)(param_2 + 0x18))" (( "(") (binary_expression "*(uint *)(param_1 + 0x18) <= *(uint *)(param_2 + 0x18)" (pointer_expression "*(uint *)(param_1 + 0x18)" (* "*") (cast_expression "(uint *)(param_1 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (<= "<=") (pointer_expression "*(uint *)(param_2 + 0x18)" (* "*") (cast_expression "(uint *)(param_2 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x18)" (( "(") (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n    uVar6 = *(uint *)(param_2 + 0x18);\n  }" ({ "{") (expression_statement "uVar6 = *(uint *)(param_2 + 0x18);" (assignment_expression "uVar6 = *(uint *)(param_2 + 0x18)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(param_2 + 0x18)" (* "*") (cast_expression "(uint *)(param_2 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x18)" (( "(") (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (} "}"))) (expression_statement "uVar5 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_1,param_4);" (assignment_expression "uVar5 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_1,param_4)" (identifier "uVar5") (= "=") (call_expression "(*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_1,param_4)" (parenthesized_expression "(*(code *)PTR_AcquireVirtualCacheView_003a9754)" (( "(") (pointer_expression "*(code *)PTR_AcquireVirtualCacheView_003a9754" (* "*") (cast_expression "(code *)PTR_AcquireVirtualCacheView_003a9754" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_AcquireVirtualCacheView_003a9754"))) () ")")) (argument_list "(param_1,param_4)" (( "(") (identifier "param_1") (, ",") (identifier "param_4") () ")")))) (; ";")) (expression_statement "uVar7 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_4);" (assignment_expression "uVar7 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_4)" (identifier "uVar7") (= "=") (call_expression "(*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_4)" (parenthesized_expression "(*(code *)PTR_AcquireVirtualCacheView_003a9754)" (( "(") (pointer_expression "*(code *)PTR_AcquireVirtualCacheView_003a9754" (* "*") (cast_expression "(code *)PTR_AcquireVirtualCacheView_003a9754" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_AcquireVirtualCacheView_003a9754"))) () ")")) (argument_list "(param_2,param_4)" (( "(") (identifier "param_2") (, ",") (identifier "param_4") () ")")))) (; ";")) (expression_statement "iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);" (assignment_expression "iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" (( "(") (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" (* "*") (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetImagePixelCacheType_003a94b4"))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (if_statement "if (((iVar4 == 4) || (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar4 == 3)\n      ) && ((iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 4 ||\n            (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3)))) {\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    uVar13 = uVar11;\n    if ((int)uVar11 < 0) {\n      uVar13 = uVar11 + 0x3f;\n    }\n    pdVar12 = (double *)((int)uVar13 >> 6);\n    if (extraout_v1 < (int)pdVar12) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_01 < 2;\n    }\n    else {\n      bVar1 = (int)uVar11 < 0x80;\n    }\n    if ((bool)(bVar1 ^ 1)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;\n    }\n    else {\n      pdVar12 = (double *)0x1;\n    }\n  }\n  else {\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n      uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }\n    }\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\nLAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pdVar12 = extraout_v1_00;\n    }\n    else {\n      pdVar12 = (double *)0x2;\n    }\n  }" (if "if") (parenthesized_expression "(((iVar4 == 4) || (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar4 == 3)\n      ) && ((iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 4 ||\n            (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3))))" (( "(") (binary_expression "((iVar4 == 4) || (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar4 == 3)\n      ) && ((iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 4 ||\n            (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3)))" (parenthesized_expression "((iVar4 == 4) || (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar4 == 3)\n      )" (( "(") (binary_expression "(iVar4 == 4) || (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar4 == 3)" (parenthesized_expression "(iVar4 == 4)" (( "(") (binary_expression "iVar4 == 4" (identifier "iVar4") (== "==") (number_literal "4")) () ")")) (|| "||") (parenthesized_expression "(iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar4 == 3)" (( "(") (comma_expression "iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar4 == 3" (assignment_expression "iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" (( "(") (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" (* "*") (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetImagePixelCacheType_003a94b4"))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (, ",") (binary_expression "iVar4 == 3" (identifier "iVar4") (== "==") (number_literal "3"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 4 ||\n            (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3)))" (( "(") (parenthesized_expression "(iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 4 ||\n            (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3))" (( "(") (comma_expression "iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 4 ||\n            (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3)" (assignment_expression "iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" (( "(") (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" (* "*") (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetImagePixelCacheType_003a94b4"))) () ")")) (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (, ",") (binary_expression "iVar4 == 4 ||\n            (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3)" (binary_expression "iVar4 == 4" (identifier "iVar4") (== "==") (number_literal "4")) (|| "||") (parenthesized_expression "(iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3)" (( "(") (comma_expression "iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3" (assignment_expression "iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" (( "(") (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" (* "*") (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetImagePixelCacheType_003a94b4"))) () ")")) (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (, ",") (binary_expression "iVar4 == 3" (identifier "iVar4") (== "==") (number_literal "3"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    uVar13 = uVar11;\n    if ((int)uVar11 < 0) {\n      uVar13 = uVar11 + 0x3f;\n    }\n    pdVar12 = (double *)((int)uVar13 >> 6);\n    if (extraout_v1 < (int)pdVar12) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_01 < 2;\n    }\n    else {\n      bVar1 = (int)uVar11 < 0x80;\n    }\n    if ((bool)(bVar1 ^ 1)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;\n    }\n    else {\n      pdVar12 = (double *)0x1;\n    }\n  }" ({ "{") (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" (( "(") (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" (* "*") (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetMagickResourceLimit_003a913c"))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "uVar13 = uVar11;" (assignment_expression "uVar13 = uVar11" (identifier "uVar13") (= "=") (identifier "uVar11")) (; ";")) (if_statement "if ((int)uVar11 < 0) {\n      uVar13 = uVar11 + 0x3f;\n    }" (if "if") (parenthesized_expression "((int)uVar11 < 0)" (( "(") (binary_expression "(int)uVar11 < 0" (cast_expression "(int)uVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar11")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      uVar13 = uVar11 + 0x3f;\n    }" ({ "{") (expression_statement "uVar13 = uVar11 + 0x3f;" (assignment_expression "uVar13 = uVar11 + 0x3f" (identifier "uVar13") (= "=") (binary_expression "uVar11 + 0x3f" (identifier "uVar11") (+ "+") (number_literal "0x3f"))) (; ";")) (} "}"))) (expression_statement "pdVar12 = (double *)((int)uVar13 >> 6);" (assignment_expression "pdVar12 = (double *)((int)uVar13 >> 6)" (identifier "pdVar12") (= "=") (cast_expression "(double *)((int)uVar13 >> 6)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)uVar13 >> 6)" (( "(") (binary_expression "(int)uVar13 >> 6" (cast_expression "(int)uVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar13")) (>> ">>") (number_literal "6")) () ")")))) (; ";")) (if_statement "if (extraout_v1 < (int)pdVar12) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_01 < 2;\n    }\n    else {\n      bVar1 = (int)uVar11 < 0x80;\n    }" (if "if") (parenthesized_expression "(extraout_v1 < (int)pdVar12)" (( "(") (binary_expression "extraout_v1 < (int)pdVar12" (identifier "extraout_v1") (< "<") (cast_expression "(int)pdVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar12"))) () ")")) (compound_statement "{\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      bVar1 = extraout_v1_01 < 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_01 < 2;" (assignment_expression "bVar1 = extraout_v1_01 < 2" (identifier "bVar1") (= "=") (binary_expression "extraout_v1_01 < 2" (identifier "extraout_v1_01") (< "<") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else {\n      bVar1 = (int)uVar11 < 0x80;\n    }" (else "else") (compound_statement "{\n      bVar1 = (int)uVar11 < 0x80;\n    }" ({ "{") (expression_statement "bVar1 = (int)uVar11 < 0x80;" (assignment_expression "bVar1 = (int)uVar11 < 0x80" (identifier "bVar1") (= "=") (binary_expression "(int)uVar11 < 0x80" (cast_expression "(int)uVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar11")) (< "<") (number_literal "0x80"))) (; ";")) (} "}")))) (if_statement "if ((bool)(bVar1 ^ 1)) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;\n    }\n    else {\n      pdVar12 = (double *)0x1;\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 *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;\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") () ")"))) (; ";")) (if_statement "if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;" (if "if") (parenthesized_expression "(extraout_v1_02 < (int)pdVar12)" (( "(") (binary_expression "extraout_v1_02 < (int)pdVar12" (identifier "extraout_v1_02") (< "<") (cast_expression "(int)pdVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar12"))) () ")")) (goto_statement "goto LAB_00071af4;" (goto "goto") (statement_identifier "LAB_00071af4") (; ";"))) (} "}")) (else_clause "else {\n      pdVar12 = (double *)0x1;\n    }" (else "else") (compound_statement "{\n      pdVar12 = (double *)0x1;\n    }" ({ "{") (expression_statement "pdVar12 = (double *)0x1;" (assignment_expression "pdVar12 = (double *)0x1" (identifier "pdVar12") (= "=") (cast_expression "(double *)0x1" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n      uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }\n    }\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\nLAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pdVar12 = extraout_v1_00;\n    }\n    else {\n      pdVar12 = (double *)0x2;\n    }\n  }" (else "else") (compound_statement "{\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n      uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }\n    }\n    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\nLAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pdVar12 = extraout_v1_00;\n    }\n    else {\n      pdVar12 = (double *)0x2;\n    }\n  }" ({ "{") (expression_statement "uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (identifier "uVar20") (= "=") (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)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n      uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }\n    }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)" (parenthesized_expression "((int)((ulonglong)uVar20 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar20 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar20 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar20 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar20 >> 0x20" (cast_expression "(ulonglong)uVar20" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar20")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)uVar20 < 2)" (( "(") (binary_expression "(uint)uVar20 < 2" (cast_expression "(uint)uVar20" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar20")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n      uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }\n    }" ({ "{") (expression_statement "uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (identifier "uVar20") (= "=") (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)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)" (parenthesized_expression "((int)((ulonglong)uVar20 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar20 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar20 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar20 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar20 >> 0x20" (cast_expression "(ulonglong)uVar20" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar20")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)uVar20 < 2)" (( "(") (binary_expression "(uint)uVar20 < 2" (cast_expression "(uint)uVar20" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar20")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n        pdVar12 = (double *)0x1;\n        goto LAB_000717a0;\n      }" ({ "{") (expression_statement "pdVar12 = (double *)0x1;" (assignment_expression "pdVar12 = (double *)0x1" (identifier "pdVar12") (= "=") (cast_expression "(double *)0x1" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (goto_statement "goto LAB_000717a0;" (goto "goto") (statement_identifier "LAB_000717a0") (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (identifier "uVar20") (= "=") (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)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {\nLAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pdVar12 = extraout_v1_00;\n    }\n    else {\n      pdVar12 = (double *)0x2;\n    }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)" (parenthesized_expression "((int)((ulonglong)uVar20 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar20 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar20 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar20 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar20 >> 0x20" (cast_expression "(ulonglong)uVar20" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar20")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)uVar20 < 2)" (( "(") (binary_expression "(uint)uVar20 < 2" (cast_expression "(uint)uVar20" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar20")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\nLAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      pdVar12 = extraout_v1_00;\n    }" ({ "{") (labeled_statement "LAB_00071af4:\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (statement_identifier "LAB_00071af4") (: ":") (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 "pdVar12 = extraout_v1_00;" (assignment_expression "pdVar12 = extraout_v1_00" (identifier "pdVar12") (= "=") (identifier "extraout_v1_00")) (; ";")) (} "}")) (else_clause "else {\n      pdVar12 = (double *)0x2;\n    }" (else "else") (compound_statement "{\n      pdVar12 = (double *)0x2;\n    }" ({ "{") (expression_statement "pdVar12 = (double *)0x2;" (assignment_expression "pdVar12 = (double *)0x2" (identifier "pdVar12") (= "=") (cast_expression "(double *)0x2" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_000717a0:\n  local_1044 = 1;" (statement_identifier "LAB_000717a0") (: ":") (expression_statement "local_1044 = 1;" (assignment_expression "local_1044 = 1" (identifier "local_1044") (= "=") (number_literal "1")) (; ";"))) (expression_statement "local_1078 = dVar18;" (assignment_expression "local_1078 = dVar18" (identifier "local_1078") (= "=") (identifier "dVar18")) (; ";")) (expression_statement "local_1070 = dVar19;" (assignment_expression "local_1070 = dVar19" (identifier "local_1070") (= "=") (identifier "dVar19")) (; ";")) (expression_statement "local_1068 = param_1;" (assignment_expression "local_1068 = param_1" (identifier "local_1068") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_1064 = param_2;" (assignment_expression "local_1064 = param_2" (identifier "local_1064") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_1060 = param_3;" (assignment_expression "local_1060 = param_3" (identifier "local_1060") (= "=") (identifier "param_3")) (; ";")) (expression_statement "local_105c = param_4;" (assignment_expression "local_105c = param_4" (identifier "local_105c") (= "=") (identifier "param_4")) (; ";")) (expression_statement "local_1058 = uVar5;" (assignment_expression "local_1058 = uVar5" (identifier "local_1058") (= "=") (identifier "uVar5")) (; ";")) (expression_statement "local_1054 = uVar7;" (assignment_expression "local_1054 = uVar7" (identifier "local_1054") (= "=") (identifier "uVar7")) (; ";")) (expression_statement "local_1050 = iVar3;" (assignment_expression "local_1050 = iVar3" (identifier "local_1050") (= "=") (identifier "iVar3")) (; ";")) (expression_statement "local_104c = uVar6;" (assignment_expression "local_104c = uVar6" (identifier "local_104c") (= "=") (identifier "uVar6")) (; ";")) (expression_statement "local_1048 = uVar11;" (assignment_expression "local_1048 = uVar11" (identifier "local_1048") (= "=") (identifier "uVar11")) (; ";")) (expression_statement "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8938 + 0x3244,&local_1078,pdVar12,0);" (call_expression "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8938 + 0x3244,&local_1078,pdVar12,0)" (parenthesized_expression "(*(code *)PTR_GOMP_parallel_003a9198)" (( "(") (pointer_expression "*(code *)PTR_GOMP_parallel_003a9198" (* "*") (cast_expression "(code *)PTR_GOMP_parallel_003a9198" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GOMP_parallel_003a9198"))) () ")")) (argument_list "(PTR_LAB_003a8938 + 0x3244,&local_1078,pdVar12,0)" (( "(") (binary_expression "PTR_LAB_003a8938 + 0x3244" (identifier "PTR_LAB_003a8938") (+ "+") (number_literal "0x3244")) (, ",") (pointer_expression "&local_1078" (& "&") (identifier "local_1078")) (, ",") (identifier "pdVar12") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "uVar8 = local_1044;" (assignment_expression "uVar8 = local_1044" (identifier "uVar8") (= "=") (identifier "local_1044")) (; ";")) (expression_statement "(*(code *)PTR_DestroyCacheView_003a8ef4)(uVar5);" (call_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)(uVar5)" (parenthesized_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)" (( "(") (pointer_expression "*(code *)PTR_DestroyCacheView_003a8ef4" (* "*") (cast_expression "(code *)PTR_DestroyCacheView_003a8ef4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DestroyCacheView_003a8ef4"))) () ")")) (argument_list "(uVar5)" (( "(") (identifier "uVar5") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_DestroyCacheView_003a8ef4)(uVar7);" (call_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)(uVar7)" (parenthesized_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)" (( "(") (pointer_expression "*(code *)PTR_DestroyCacheView_003a8ef4" (* "*") (cast_expression "(code *)PTR_DestroyCacheView_003a8ef4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DestroyCacheView_003a8ef4"))) () ")")) (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "iVar4 = *(int *)(param_1 + 0x2c0);" (assignment_expression "iVar4 = *(int *)(param_1 + 0x2c0)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_1 + 0x2c0)" (* "*") (cast_expression "(int *)(param_1 + 0x2c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c0)" (( "(") (binary_expression "param_1 + 0x2c0" (identifier "param_1") (+ "+") (number_literal "0x2c0")) () ")"))))) (; ";")) (if_statement "if (iVar4 < 1) {\n    dVar18 = (double)(int)uVar11;\n    if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar19 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar18 = param_3[0x40] / (dVar18 * dVar19);\nLAB_00071a8c:\n    dVar19 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n  }\n  else {\n    piVar16 = *(int **)(param_1 + 0x2d0);\n    dVar18 = (double)(int)uVar11;\n    if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar19 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    piVar9 = piVar16;\n    pdVar12 = param_3;\n    do {\n      if ((piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0)) {\n        *pdVar12 = *pdVar12 / (dVar18 * dVar19);\n      }\n      piVar9 = piVar9 + 3;\n      pdVar12 = pdVar12 + 1;\n    } while (piVar16 + iVar4 * 3 != piVar9);\n    pdVar12 = (double *)0x0;\n    dVar18 = param_3[0x40] / (dVar18 * dVar19);\n    piVar10 = piVar16;\n    do {\n      if ((piVar16[*piVar10 * 3 + 1] & 2U) != 0) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }\n      piVar10 = piVar10 + 3;\n    } while (piVar10 != piVar9);\n    if (pdVar12 == (double *)0x0) goto LAB_00071a8c;\n    dVar19 = (double)(int)pdVar12;\n    if ((int)pdVar12 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n  }" (if "if") (parenthesized_expression "(iVar4 < 1)" (( "(") (binary_expression "iVar4 < 1" (identifier "iVar4") (< "<") (number_literal "1")) () ")")) (compound_statement "{\n    dVar18 = (double)(int)uVar11;\n    if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar19 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar18 = param_3[0x40] / (dVar18 * dVar19);\nLAB_00071a8c:\n    dVar19 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n  }" ({ "{") (expression_statement "dVar18 = (double)(int)uVar11;" (assignment_expression "dVar18 = (double)(int)uVar11" (identifier "dVar18") (= "=") (cast_expression "(double)(int)uVar11" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(int)uVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar11")))) (; ";")) (if_statement "if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" (if "if") (parenthesized_expression "((int)uVar11 < 0)" (( "(") (binary_expression "(int)uVar11 < 0" (cast_expression "(int)uVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar11")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" ({ "{") (expression_statement "dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);" (assignment_expression "dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" (identifier "dVar18") (= "=") (binary_expression "dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" (identifier "dVar18") (+ "+") (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1418)" (* "*") (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1418)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1418)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x1418" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1418")) () ")")))))) (; ";")) (} "}"))) (expression_statement "dVar19 = (double)(int)uVar6;" (assignment_expression "dVar19 = (double)(int)uVar6" (identifier "dVar19") (= "=") (cast_expression "(double)(int)uVar6" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(int)uVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar6")))) (; ";")) (if_statement "if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" (if "if") (parenthesized_expression "((int)uVar6 < 0)" (( "(") (binary_expression "(int)uVar6 < 0" (cast_expression "(int)uVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar6")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" ({ "{") (expression_statement "dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);" (assignment_expression "dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" (identifier "dVar19") (= "=") (binary_expression "dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" (identifier "dVar19") (+ "+") (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1418)" (* "*") (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1418)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1418)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x1418" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1418")) () ")")))))) (; ";")) (} "}"))) (expression_statement "dVar18 = param_3[0x40] / (dVar18 * dVar19);" (assignment_expression "dVar18 = param_3[0x40] / (dVar18 * dVar19)" (identifier "dVar18") (= "=") (binary_expression "param_3[0x40] / (dVar18 * dVar19)" (subscript_expression "param_3[0x40]" (identifier "param_3") ([ "[") (number_literal "0x40") (] "]")) (/ "/") (parenthesized_expression "(dVar18 * dVar19)" (( "(") (binary_expression "dVar18 * dVar19" (identifier "dVar18") (* "*") (identifier "dVar19")) () ")")))) (; ";")) (labeled_statement "LAB_00071a8c:\n    dVar19 = *(double *)(PTR_LAB_003a88e0 + 0x1438);" (statement_identifier "LAB_00071a8c") (: ":") (expression_statement "dVar19 = *(double *)(PTR_LAB_003a88e0 + 0x1438);" (assignment_expression "dVar19 = *(double *)(PTR_LAB_003a88e0 + 0x1438)" (identifier "dVar19") (= "=") (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1438)" (* "*") (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1438)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1438)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x1438" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1438")) () ")"))))) (; ";"))) (} "}")) (else_clause "else {\n    piVar16 = *(int **)(param_1 + 0x2d0);\n    dVar18 = (double)(int)uVar11;\n    if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar19 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    piVar9 = piVar16;\n    pdVar12 = param_3;\n    do {\n      if ((piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0)) {\n        *pdVar12 = *pdVar12 / (dVar18 * dVar19);\n      }\n      piVar9 = piVar9 + 3;\n      pdVar12 = pdVar12 + 1;\n    } while (piVar16 + iVar4 * 3 != piVar9);\n    pdVar12 = (double *)0x0;\n    dVar18 = param_3[0x40] / (dVar18 * dVar19);\n    piVar10 = piVar16;\n    do {\n      if ((piVar16[*piVar10 * 3 + 1] & 2U) != 0) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }\n      piVar10 = piVar10 + 3;\n    } while (piVar10 != piVar9);\n    if (pdVar12 == (double *)0x0) goto LAB_00071a8c;\n    dVar19 = (double)(int)pdVar12;\n    if ((int)pdVar12 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n  }" (else "else") (compound_statement "{\n    piVar16 = *(int **)(param_1 + 0x2d0);\n    dVar18 = (double)(int)uVar11;\n    if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    dVar19 = (double)(int)uVar6;\n    if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n    piVar9 = piVar16;\n    pdVar12 = param_3;\n    do {\n      if ((piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0)) {\n        *pdVar12 = *pdVar12 / (dVar18 * dVar19);\n      }\n      piVar9 = piVar9 + 3;\n      pdVar12 = pdVar12 + 1;\n    } while (piVar16 + iVar4 * 3 != piVar9);\n    pdVar12 = (double *)0x0;\n    dVar18 = param_3[0x40] / (dVar18 * dVar19);\n    piVar10 = piVar16;\n    do {\n      if ((piVar16[*piVar10 * 3 + 1] & 2U) != 0) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }\n      piVar10 = piVar10 + 3;\n    } while (piVar10 != piVar9);\n    if (pdVar12 == (double *)0x0) goto LAB_00071a8c;\n    dVar19 = (double)(int)pdVar12;\n    if ((int)pdVar12 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }\n  }" ({ "{") (expression_statement "piVar16 = *(int **)(param_1 + 0x2d0);" (assignment_expression "piVar16 = *(int **)(param_1 + 0x2d0)" (identifier "piVar16") (= "=") (pointer_expression "*(int **)(param_1 + 0x2d0)" (* "*") (cast_expression "(int **)(param_1 + 0x2d0)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x2d0)" (( "(") (binary_expression "param_1 + 0x2d0" (identifier "param_1") (+ "+") (number_literal "0x2d0")) () ")"))))) (; ";")) (expression_statement "dVar18 = (double)(int)uVar11;" (assignment_expression "dVar18 = (double)(int)uVar11" (identifier "dVar18") (= "=") (cast_expression "(double)(int)uVar11" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(int)uVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar11")))) (; ";")) (if_statement "if ((int)uVar11 < 0) {\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" (if "if") (parenthesized_expression "((int)uVar11 < 0)" (( "(") (binary_expression "(int)uVar11 < 0" (cast_expression "(int)uVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar11")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" ({ "{") (expression_statement "dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);" (assignment_expression "dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" (identifier "dVar18") (= "=") (binary_expression "dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" (identifier "dVar18") (+ "+") (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1418)" (* "*") (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1418)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1418)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x1418" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1418")) () ")")))))) (; ";")) (} "}"))) (expression_statement "dVar19 = (double)(int)uVar6;" (assignment_expression "dVar19 = (double)(int)uVar6" (identifier "dVar19") (= "=") (cast_expression "(double)(int)uVar6" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(int)uVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar6")))) (; ";")) (if_statement "if ((int)uVar6 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" (if "if") (parenthesized_expression "((int)uVar6 < 0)" (( "(") (binary_expression "(int)uVar6 < 0" (cast_expression "(int)uVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar6")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" ({ "{") (expression_statement "dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);" (assignment_expression "dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" (identifier "dVar19") (= "=") (binary_expression "dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" (identifier "dVar19") (+ "+") (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1418)" (* "*") (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1418)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1418)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x1418" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1418")) () ")")))))) (; ";")) (} "}"))) (expression_statement "piVar9 = piVar16;" (assignment_expression "piVar9 = piVar16" (identifier "piVar9") (= "=") (identifier "piVar16")) (; ";")) (expression_statement "pdVar12 = param_3;" (assignment_expression "pdVar12 = param_3" (identifier "pdVar12") (= "=") (identifier "param_3")) (; ";")) (do_statement "do {\n      if ((piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0)) {\n        *pdVar12 = *pdVar12 / (dVar18 * dVar19);\n      }\n      piVar9 = piVar9 + 3;\n      pdVar12 = pdVar12 + 1;\n    } while (piVar16 + iVar4 * 3 != piVar9);" (do "do") (compound_statement "{\n      if ((piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0)) {\n        *pdVar12 = *pdVar12 / (dVar18 * dVar19);\n      }\n      piVar9 = piVar9 + 3;\n      pdVar12 = pdVar12 + 1;\n    }" ({ "{") (if_statement "if ((piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0)) {\n        *pdVar12 = *pdVar12 / (dVar18 * dVar19);\n      }" (if "if") (parenthesized_expression "((piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0))" (( "(") (binary_expression "(piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0)" (parenthesized_expression "(piVar16[*piVar9 * 3 + 1] != 0)" (( "(") (binary_expression "piVar16[*piVar9 * 3 + 1] != 0" (subscript_expression "piVar16[*piVar9 * 3 + 1]" (identifier "piVar16") ([ "[") (binary_expression "*piVar9 * 3 + 1" (binary_expression "*piVar9 * 3" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (* "*") (number_literal "3")) (+ "+") (number_literal "1")) (] "]")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((piVar16[*piVar9 * 3 + 1] & 2U) != 0)" (( "(") (binary_expression "(piVar16[*piVar9 * 3 + 1] & 2U) != 0" (parenthesized_expression "(piVar16[*piVar9 * 3 + 1] & 2U)" (( "(") (binary_expression "piVar16[*piVar9 * 3 + 1] & 2U" (subscript_expression "piVar16[*piVar9 * 3 + 1]" (identifier "piVar16") ([ "[") (binary_expression "*piVar9 * 3 + 1" (binary_expression "*piVar9 * 3" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (* "*") (number_literal "3")) (+ "+") (number_literal "1")) (] "]")) (& "&") (number_literal "2U")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        *pdVar12 = *pdVar12 / (dVar18 * dVar19);\n      }" ({ "{") (expression_statement "*pdVar12 = *pdVar12 / (dVar18 * dVar19);" (assignment_expression "*pdVar12 = *pdVar12 / (dVar18 * dVar19)" (pointer_expression "*pdVar12" (* "*") (identifier "pdVar12")) (= "=") (binary_expression "*pdVar12 / (dVar18 * dVar19)" (pointer_expression "*pdVar12" (* "*") (identifier "pdVar12")) (/ "/") (parenthesized_expression "(dVar18 * dVar19)" (( "(") (binary_expression "dVar18 * dVar19" (identifier "dVar18") (* "*") (identifier "dVar19")) () ")")))) (; ";")) (} "}"))) (expression_statement "piVar9 = piVar9 + 3;" (assignment_expression "piVar9 = piVar9 + 3" (identifier "piVar9") (= "=") (binary_expression "piVar9 + 3" (identifier "piVar9") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "pdVar12 = pdVar12 + 1;" (assignment_expression "pdVar12 = pdVar12 + 1" (identifier "pdVar12") (= "=") (binary_expression "pdVar12 + 1" (identifier "pdVar12") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar16 + iVar4 * 3 != piVar9)" (( "(") (binary_expression "piVar16 + iVar4 * 3 != piVar9" (binary_expression "piVar16 + iVar4 * 3" (identifier "piVar16") (+ "+") (binary_expression "iVar4 * 3" (identifier "iVar4") (* "*") (number_literal "3"))) (!= "!=") (identifier "piVar9")) () ")")) (; ";")) (expression_statement "pdVar12 = (double *)0x0;" (assignment_expression "pdVar12 = (double *)0x0" (identifier "pdVar12") (= "=") (cast_expression "(double *)0x0" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "dVar18 = param_3[0x40] / (dVar18 * dVar19);" (assignment_expression "dVar18 = param_3[0x40] / (dVar18 * dVar19)" (identifier "dVar18") (= "=") (binary_expression "param_3[0x40] / (dVar18 * dVar19)" (subscript_expression "param_3[0x40]" (identifier "param_3") ([ "[") (number_literal "0x40") (] "]")) (/ "/") (parenthesized_expression "(dVar18 * dVar19)" (( "(") (binary_expression "dVar18 * dVar19" (identifier "dVar18") (* "*") (identifier "dVar19")) () ")")))) (; ";")) (expression_statement "piVar10 = piVar16;" (assignment_expression "piVar10 = piVar16" (identifier "piVar10") (= "=") (identifier "piVar16")) (; ";")) (do_statement "do {\n      if ((piVar16[*piVar10 * 3 + 1] & 2U) != 0) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }\n      piVar10 = piVar10 + 3;\n    } while (piVar10 != piVar9);" (do "do") (compound_statement "{\n      if ((piVar16[*piVar10 * 3 + 1] & 2U) != 0) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }\n      piVar10 = piVar10 + 3;\n    }" ({ "{") (if_statement "if ((piVar16[*piVar10 * 3 + 1] & 2U) != 0) {\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }" (if "if") (parenthesized_expression "((piVar16[*piVar10 * 3 + 1] & 2U) != 0)" (( "(") (binary_expression "(piVar16[*piVar10 * 3 + 1] & 2U) != 0" (parenthesized_expression "(piVar16[*piVar10 * 3 + 1] & 2U)" (( "(") (binary_expression "piVar16[*piVar10 * 3 + 1] & 2U" (subscript_expression "piVar16[*piVar10 * 3 + 1]" (identifier "piVar16") ([ "[") (binary_expression "*piVar10 * 3 + 1" (binary_expression "*piVar10 * 3" (pointer_expression "*piVar10" (* "*") (identifier "piVar10")) (* "*") (number_literal "3")) (+ "+") (number_literal "1")) (] "]")) (& "&") (number_literal "2U")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        pdVar12 = (double *)((int)pdVar12 + 1);\n      }" ({ "{") (expression_statement "pdVar12 = (double *)((int)pdVar12 + 1);" (assignment_expression "pdVar12 = (double *)((int)pdVar12 + 1)" (identifier "pdVar12") (= "=") (cast_expression "(double *)((int)pdVar12 + 1)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pdVar12 + 1)" (( "(") (binary_expression "(int)pdVar12 + 1" (cast_expression "(int)pdVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar12")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}"))) (expression_statement "piVar10 = piVar10 + 3;" (assignment_expression "piVar10 = piVar10 + 3" (identifier "piVar10") (= "=") (binary_expression "piVar10 + 3" (identifier "piVar10") (+ "+") (number_literal "3"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar10 != piVar9)" (( "(") (binary_expression "piVar10 != piVar9" (identifier "piVar10") (!= "!=") (identifier "piVar9")) () ")")) (; ";")) (if_statement "if (pdVar12 == (double *)0x0) goto LAB_00071a8c;" (if "if") (parenthesized_expression "(pdVar12 == (double *)0x0)" (( "(") (binary_expression "pdVar12 == (double *)0x0" (identifier "pdVar12") (== "==") (cast_expression "(double *)0x0" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00071a8c;" (goto "goto") (statement_identifier "LAB_00071a8c") (; ";"))) (expression_statement "dVar19 = (double)(int)pdVar12;" (assignment_expression "dVar19 = (double)(int)pdVar12" (identifier "dVar19") (= "=") (cast_expression "(double)(int)pdVar12" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(int)pdVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar12")))) (; ";")) (if_statement "if ((int)pdVar12 < 0) {\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" (if "if") (parenthesized_expression "((int)pdVar12 < 0)" (( "(") (binary_expression "(int)pdVar12 < 0" (cast_expression "(int)pdVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar12")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);\n    }" ({ "{") (expression_statement "dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);" (assignment_expression "dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" (identifier "dVar19") (= "=") (binary_expression "dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418)" (identifier "dVar19") (+ "+") (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1418)" (* "*") (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1418)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1418)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x1418" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1418")) () ")")))))) (; ";")) (} "}"))) (} "}")))) (expression_statement "puVar2 = PTR_DestroyKernelInfo_003a96a8;" (assignment_expression "puVar2 = PTR_DestroyKernelInfo_003a96a8" (identifier "puVar2") (= "=") (identifier "PTR_DestroyKernelInfo_003a96a8")) (; ";")) (expression_statement "param_3[0x40] = dVar18 / dVar19;" (assignment_expression "param_3[0x40] = dVar18 / dVar19" (subscript_expression "param_3[0x40]" (identifier "param_3") ([ "[") (number_literal "0x40") (] "]")) (= "=") (binary_expression "dVar18 / dVar19" (identifier "dVar18") (/ "/") (identifier "dVar19"))) (; ";")) (expression_statement "(*(code *)puVar2)(iVar3);" (call_expression "(*(code *)puVar2)(iVar3)" (parenthesized_expression "(*(code *)puVar2)" (( "(") (pointer_expression "*(code *)puVar2" (* "*") (cast_expression "(code *)puVar2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")"))) (; ";")) (labeled_statement "LAB_00071930:\n  if (local_3c == *(int *)puVar17) {\n    return uVar8;\n  }" (statement_identifier "LAB_00071930") (: ":") (if_statement "if (local_3c == *(int *)puVar17) {\n    return uVar8;\n  }" (if "if") (parenthesized_expression "(local_3c == *(int *)puVar17)" (( "(") (binary_expression "local_3c == *(int *)puVar17" (identifier "local_3c") (== "==") (pointer_expression "*(int *)puVar17" (* "*") (cast_expression "(int *)puVar17" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar17")))) () ")")) (compound_statement "{\n    return uVar8;\n  }" ({ "{") (return_statement "return uVar8;" (return "return") (identifier "uVar8") (; ";")) (} "}")))) (expression_statement "puVar17 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar17 = PTR___stack_chk_fail_003a9064" (identifier "puVar17") (= "=") (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 "uVar8 = FUN_0007157c();" (assignment_expression "uVar8 = FUN_0007157c()" (identifier "uVar8") (= "=") (call_expression "FUN_0007157c()" (identifier "FUN_0007157c") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "dVar19 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1438);" (assignment_expression "dVar19 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1438)" (identifier "dVar19") (= "=") (pointer_expression "*(double *)(*(int *)(puVar17 + 0x336d50) + 0x1438)" (* "*") (cast_expression "(double *)(*(int *)(puVar17 + 0x336d50) + 0x1438)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar17 + 0x336d50) + 0x1438)" (( "(") (binary_expression "*(int *)(puVar17 + 0x336d50) + 0x1438" (pointer_expression "*(int *)(puVar17 + 0x336d50)" (* "*") (cast_expression "(int *)(puVar17 + 0x336d50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + 0x336d50)" (( "(") (binary_expression "puVar17 + 0x336d50" (identifier "puVar17") (+ "+") (number_literal "0x336d50")) () ")")))) (+ "+") (number_literal "0x1438")) () ")"))))) (; ";")) (expression_statement "dVar18 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1400);" (assignment_expression "dVar18 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1400)" (identifier "dVar18") (= "=") (pointer_expression "*(double *)(*(int *)(puVar17 + 0x336d50) + 0x1400)" (* "*") (cast_expression "(double *)(*(int *)(puVar17 + 0x336d50) + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar17 + 0x336d50) + 0x1400)" (( "(") (binary_expression "*(int *)(puVar17 + 0x336d50) + 0x1400" (pointer_expression "*(int *)(puVar17 + 0x336d50)" (* "*") (cast_expression "(int *)(puVar17 + 0x336d50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + 0x336d50)" (( "(") (binary_expression "puVar17 + 0x336d50" (identifier "puVar17") (+ "+") (number_literal "0x336d50")) () ")")))) (+ "+") (number_literal "0x1400")) () ")"))))) (; ";")) (expression_statement "pdVar14 = pdVar12;" (assignment_expression "pdVar14 = pdVar12" (identifier "pdVar14") (= "=") (identifier "pdVar12")) (; ";")) (do_statement "do {\n    pdVar15 = pdVar14 + 1;\n    *pdVar14 = (dVar19 - *pdVar14) * dVar18;\n    pdVar14 = pdVar15;\n  } while (pdVar15 != pdVar12 + 0x41);" (do "do") (compound_statement "{\n    pdVar15 = pdVar14 + 1;\n    *pdVar14 = (dVar19 - *pdVar14) * dVar18;\n    pdVar14 = pdVar15;\n  }" ({ "{") (expression_statement "pdVar15 = pdVar14 + 1;" (assignment_expression "pdVar15 = pdVar14 + 1" (identifier "pdVar15") (= "=") (binary_expression "pdVar14 + 1" (identifier "pdVar14") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pdVar14 = (dVar19 - *pdVar14) * dVar18;" (assignment_expression "*pdVar14 = (dVar19 - *pdVar14) * dVar18" (pointer_expression "*pdVar14" (* "*") (identifier "pdVar14")) (= "=") (binary_expression "(dVar19 - *pdVar14) * dVar18" (parenthesized_expression "(dVar19 - *pdVar14)" (( "(") (binary_expression "dVar19 - *pdVar14" (identifier "dVar19") (- "-") (pointer_expression "*pdVar14" (* "*") (identifier "pdVar14"))) () ")")) (* "*") (identifier "dVar18"))) (; ";")) (expression_statement "pdVar14 = pdVar15;" (assignment_expression "pdVar14 = pdVar15" (identifier "pdVar14") (= "=") (identifier "pdVar15")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pdVar15 != pdVar12 + 0x41)" (( "(") (binary_expression "pdVar15 != pdVar12 + 0x41" (identifier "pdVar15") (!= "!=") (binary_expression "pdVar12 + 0x41" (identifier "pdVar12") (+ "+") (number_literal "0x41"))) () ")")) (; ";")) (return_statement "return uVar8;" (return "return") (identifier "uVar8") (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) 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: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (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: (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) (binary_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (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) (binary_expression left: (identifier) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (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 (identifier) (number_literal) (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) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (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 (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) (binary_expression left: (identifier) right: (number_literal)) (identifier) (number_literal) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (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 (identifier) (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: (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: (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) (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (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: (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: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))) 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: (primitive_type) 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 (labeled_statement label: (statement_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)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_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))) (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 (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)) (pointer_expression argument: (identifier)) (identifier) (number_literal)))) (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 (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_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: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (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))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator 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: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_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))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (number_literal))) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (number_literal))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_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 (identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) 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: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (return_statement (identifier)))))

undefined4 MASKED(int param_1,int param_2,double *param_3,undefined4 param_4)

{
  bool bVar1;
  undefined *puVar2;
  int iVar3;
  int iVar4;
  undefined4 uVar5;
  undefined4 uVar7;
  undefined4 uVar8;
  int *piVar9;
  int extraout_v1;
  double *extraout_v1_00;
  int extraout_v1_01;
  int extraout_v1_02;
  int *piVar10;
  uint uVar11;
  double *pdVar12;
  uint uVar13;
  double *pdVar14;
  int *piVar16;
  undefined *puVar17;
  double dVar18;
  double dVar19;
  undefined8 uVar20;
  double local_1078;
  double local_1070;
  int local_1068;
  int local_1064;
  double *local_1060;
  undefined4 local_105c;
  undefined4 local_1058;
  undefined4 local_1054;
  int local_1050;
  uint local_104c;
  uint local_1048;
  undefined4 local_1044;
  undefined1 auStack_103c [4096];
  int local_3c;
  uint uVar6;
  double *pdVar15;
  
  puVar17 = PTR___stack_chk_guard_003a9230;
  local_3c = *(int *)PTR___stack_chk_guard_003a9230;
  iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)
                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3834);
  if (iVar3 == 0) {
    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)
                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);
  }
  else {
    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);
    iVar3 = (*(code *)PTR_GetImageArtifact_003a94c0)
                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3820);
  }
  if (iVar3 != 0) {
    (*(code *)PTR_InterpretLocaleValue_003a9768)(iVar3,0);
  }
  (*(code *)PTR_FormatLocaleString_003a8d7c)
            (auStack_103c,0x1000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x380c);
  iVar3 = (*(code *)PTR_AcquireKernelInfo_003a8fe4)(auStack_103c,param_4);
  if (iVar3 == 0) {
    pdVar12 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x35bc);
    uVar8 = 0;
    (*(code *)PTR_ThrowMagickException_003a8f20)
              (param_4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37f4,pdVar12,0x581,400,
               PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x340);
    goto LAB_00071930;
  }
  iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)
                    (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37dc);
  if (iVar4 == 0) {
    dVar18 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3538);
    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)
                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);
    if (iVar4 == 0) goto LAB_0007199c;
LAB_000716d4:
    dVar19 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);
    dVar19 = dVar19 * dVar19;
  }
  else {
    dVar18 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(iVar4,0);
    dVar18 = dVar18 * dVar18;
    iVar4 = (*(code *)PTR_GetImageArtifact_003a94c0)
                      (param_1,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x37cc);
    if (iVar4 != 0) goto LAB_000716d4;
LAB_0007199c:
    dVar19 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3530);
  }
  uVar11 = *(uint *)(param_1 + 0x1c);
  if (*(uint *)(param_1 + 0x1c) <= *(uint *)(param_2 + 0x1c)) {
    uVar11 = *(uint *)(param_2 + 0x1c);
  }
  uVar6 = *(uint *)(param_1 + 0x18);
  if (*(uint *)(param_1 + 0x18) <= *(uint *)(param_2 + 0x18)) {
    uVar6 = *(uint *)(param_2 + 0x18);
  }
  uVar5 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_1,param_4);
  uVar7 = (*(code *)PTR_AcquireVirtualCacheView_003a9754)(param_2,param_4);
  iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);
  if (((iVar4 == 4) || (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar4 == 3)
      ) && ((iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 4 ||
            (iVar4 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_2), iVar4 == 3)))) {
    (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
    uVar13 = uVar11;
    if ((int)uVar11 < 0) {
      uVar13 = uVar11 + 0x3f;
    }
    pdVar12 = (double *)((int)uVar13 >> 6);
    if (extraout_v1 < (int)pdVar12) {
      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      bVar1 = extraout_v1_01 < 2;
    }
    else {
      bVar1 = (int)uVar11 < 0x80;
    }
    if ((bool)(bVar1 ^ 1)) {
      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      if (extraout_v1_02 < (int)pdVar12) goto LAB_00071af4;
    }
    else {
      pdVar12 = (double *)0x1;
    }
  }
  else {
    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {
      uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {
        pdVar12 = (double *)0x1;
        goto LAB_000717a0;
      }
    }
    uVar20 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
    if (((int)((ulonglong)uVar20 >> 0x20) == 0) && ((uint)uVar20 < 2)) {
LAB_00071af4:
      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      pdVar12 = extraout_v1_00;
    }
    else {
      pdVar12 = (double *)0x2;
    }
  }
LAB_000717a0:
  local_1044 = 1;
  local_1078 = dVar18;
  local_1070 = dVar19;
  local_1068 = param_1;
  local_1064 = param_2;
  local_1060 = param_3;
  local_105c = param_4;
  local_1058 = uVar5;
  local_1054 = uVar7;
  local_1050 = iVar3;
  local_104c = uVar6;
  local_1048 = uVar11;
  (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8938 + 0x3244,&local_1078,pdVar12,0);
  uVar8 = local_1044;
  (*(code *)PTR_DestroyCacheView_003a8ef4)(uVar5);
  (*(code *)PTR_DestroyCacheView_003a8ef4)(uVar7);
  iVar4 = *(int *)(param_1 + 0x2c0);
  if (iVar4 < 1) {
    dVar18 = (double)(int)uVar11;
    if ((int)uVar11 < 0) {
      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);
    }
    dVar19 = (double)(int)uVar6;
    if ((int)uVar6 < 0) {
      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);
    }
    dVar18 = param_3[0x40] / (dVar18 * dVar19);
LAB_00071a8c:
    dVar19 = *(double *)(PTR_LAB_003a88e0 + 0x1438);
  }
  else {
    piVar16 = *(int **)(param_1 + 0x2d0);
    dVar18 = (double)(int)uVar11;
    if ((int)uVar11 < 0) {
      dVar18 = dVar18 + *(double *)(PTR_LAB_003a88e0 + 0x1418);
    }
    dVar19 = (double)(int)uVar6;
    if ((int)uVar6 < 0) {
      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);
    }
    piVar9 = piVar16;
    pdVar12 = param_3;
    do {
      if ((piVar16[*piVar9 * 3 + 1] != 0) && ((piVar16[*piVar9 * 3 + 1] & 2U) != 0)) {
        *pdVar12 = *pdVar12 / (dVar18 * dVar19);
      }
      piVar9 = piVar9 + 3;
      pdVar12 = pdVar12 + 1;
    } while (piVar16 + iVar4 * 3 != piVar9);
    pdVar12 = (double *)0x0;
    dVar18 = param_3[0x40] / (dVar18 * dVar19);
    piVar10 = piVar16;
    do {
      if ((piVar16[*piVar10 * 3 + 1] & 2U) != 0) {
        pdVar12 = (double *)((int)pdVar12 + 1);
      }
      piVar10 = piVar10 + 3;
    } while (piVar10 != piVar9);
    if (pdVar12 == (double *)0x0) goto LAB_00071a8c;
    dVar19 = (double)(int)pdVar12;
    if ((int)pdVar12 < 0) {
      dVar19 = dVar19 + *(double *)(PTR_LAB_003a88e0 + 0x1418);
    }
  }
  puVar2 = PTR_DestroyKernelInfo_003a96a8;
  param_3[0x40] = dVar18 / dVar19;
  (*(code *)puVar2)(iVar3);
LAB_00071930:
  if (local_3c == *(int *)puVar17) {
    return uVar8;
  }
  puVar17 = PTR___stack_chk_fail_003a9064;
  (*(code *)PTR___stack_chk_fail_003a9064)();
  uVar8 = MASKED();
  dVar19 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1438);
  dVar18 = *(double *)(*(int *)(puVar17 + 0x336d50) + 0x1400);
  pdVar14 = pdVar12;
  do {
    pdVar15 = pdVar14 + 1;
    *pdVar14 = (dVar19 - *pdVar14) * dVar18;
    pdVar14 = pdVar15;
  } while (pdVar15 != pdVar12 + 0x41);
  return uVar8;
}

