
/* WARNING: Enum "ChannelType": Some values do not have unique names */
/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": 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 */

Image * ReadFITSImage(ImageInfo *image_info,ExceptionInfo *exception)

{
  bool bVar1;
  ulonglong uVar2;
  undefined *puVar3;
  undefined *puVar4;
  double dVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  undefined1 *puVar9;
  int *piVar10;
  byte bVar19;
  MagickBooleanType MVar11;
  int iVar12;
  uint uVar13;
  int iVar14;
  Image *pIVar15;
  uint uVar16;
  short sVar18;
  undefined4 *puVar17;
  undefined *puVar20;
  float *pfVar21;
  double *pdVar22;
  uint uVar23;
  undefined4 uVar24;
  byte *pbVar25;
  uint uVar26;
  undefined4 unaff_s3;
  undefined *puVar27;
  undefined4 unaff_s5;
  undefined *puVar28;
  code *pcVar29;
  double dVar30;
  float fVar31;
  double dVar32;
  double in_f22_23;
  double dVar33;
  double in_f28_29;
  double in_f30_31;
  undefined8 uVar34;
  longlong lVar35;
  undefined8 uVar36;
  longlong lVar37;
  undefined8 local_1160;
  undefined *local_1158;
  undefined *local_1154;
  int local_114c;
  int local_1148;
  int local_1144;
  uint local_1140;
  undefined *local_1138;
  undefined *local_1134;
  undefined *local_112c;
  int local_1128;
  EndianType local_1124;
  int local_1120;
  uint local_111c;
  double local_1118;
  char *comment;
  double pixel;
  FITSInfo fits_info;
  char keyword [9];
  char value [73];
  char property [4096];
  
  puVar4 = PTR___stack_chk_guard_003a9230;
  lVar35 = CONCAT44(unaff_s3,unaff_s5);
  iVar6 = *(int *)PTR___stack_chk_guard_003a9230;
  if (image_info == (ImageInfo *)0x0) {
    pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)
                                 (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,
                                  PTR_UINT_003a8950 + -0xc60);
    return pIVar15;
  }
  if (image_info->signature != 0xabacadab) {
    pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)
                                 (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,
                                  PTR_UINT_003a8950 + -0xc60);
    return pIVar15;
  }
  if (image_info->debug != MagickFalse) {
    (*(code *)PTR_LogMagickEvent_003a91e0)
              (0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,
               PTR_s_t_to_left_003a88e4 + -0x62ac,image_info->filename);
  }
  if (exception == (ExceptionInfo *)0x0) {
    pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)
                                 (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,
                                  PTR_UINT_003a8950 + -0xc60);
    return pIVar15;
  }
  if (exception->signature != 0xabacadab) {
    pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)
                                 (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,
                                  PTR_UINT_003a8950 + -0xc60);
    return pIVar15;
  }
  iVar7 = (*(code *)PTR_AcquireImage_003a960c)(image_info,exception);
  local_114c = (*(code *)PTR_OpenBlob_003a924c)(image_info,iVar7,2,exception);
  puVar3 = PTR_UINT_003a8950;
  puVar20 = PTR_LAB_003a88e0;
  if (local_114c == 0) {
    (*(code *)PTR_DestroyImageList_003a9510)(iVar7);
    pIVar15 = (Image *)0x0;
    dVar30 = in_f22_23;
  }
  else {
    local_1158 = PTR_UINT_003a8950;
    local_1134 = PTR_LAB_003a88e0;
    local_1154 = PTR_UINT_003a8950;
    (*(code *)PTR_memset_003a96d4)(&fits_info,0,0x48);
    fits_info.scale = *(double *)(puVar20 + 0x1438);
    fits_info.bits_per_pixel = 8;
    fits_info.columns = 1;
    fits_info.rows = 1;
    fits_info.number_planes = 1;
    puVar20 = PTR_UINT_003a8950 + -0xe20;
    puVar27 = PTR_s_t_to_left_003a88e4 + 0x544;
    fits_info.endian = MSBEndian;
    puVar28 = PTR_UINT_003a8950 + -0xe30;
    local_1160 = CONCAT44(puVar20,local_1160._4_4_);
    comment = (char *)0x0;
    puVar9 = PTR_UINT_003a8950;
    do {
      iVar8 = (*(code *)PTR_EOFBlob_003a9748)(iVar7);
      if (iVar8 != 0) {
LAB_00224bd4:
        lVar37 = (longlong)fits_info.columns * (longlong)fits_info.rows;
        MVar11 = fits_info.simple;
        iVar8 = fits_info.columns;
        iVar12 = fits_info.rows;
        break;
      }
      puVar9 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar7);
      while (puVar9 == (undefined1 *)0x0) {
        iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(iVar7,8,keyword);
        if (iVar8 != 8) break;
        piVar10 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();
        pbVar25 = (byte *)keyword;
        do {
          if ((*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0) break;
          puVar9 = puVar9 + 1;
          bVar19 = (*(code *)PTR_LocaleLowercase_003a9684)();
          *pbVar25 = bVar19;
          pbVar25 = pbVar25 + 1;
        } while (puVar9 != &DAT_00000008);
        pbVar25 = (byte *)value;
        keyword[(int)puVar9] = '\0';
        iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(iVar7,0x48,pbVar25);
        value[0x48] = '\0';
        if (iVar8 != 0x48) break;
        if (value[0] == '=') {
          pbVar25 = (byte *)(value + 2);
          while ((*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0) {
            pbVar25 = pbVar25 + 1;
          }
        }
        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar27);
        if (iVar8 == 0) break;
        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar28);
        if (iVar8 == 0) {
          fits_info.extend = (MagickBooleanType)((*pbVar25 & 0xdf) == 0x54);
        }
        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar3 + -0xe28);
        if (iVar8 == 0) {
          fits_info.simple = (MagickBooleanType)((*pbVar25 & 0xdf) == 0x54);
        }
        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar20);
        if (iVar8 == 0) {
          fits_info.bits_per_pixel = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);
        }
        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar3 + -0xe18);
        if (iVar8 == 0) {
          fits_info.number_axes = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);
        }
        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe10);
        if (iVar8 == 0) {
          fits_info.columns = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);
        }
        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe08);
        if (iVar8 == 0) {
          fits_info.rows = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);
        }
        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe00);
        if (iVar8 == 0) {
          fits_info.number_planes = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);
        }
        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdf8);
        if (iVar8 == 0) {
          fits_info.max_data = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);
        }
        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdf0);
        if (iVar8 == 0) {
          fits_info.min_data = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);
        }
        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xde8);
        if (iVar8 == 0) {
          fits_info.zero = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);
        }
        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xde0);
        if (iVar8 == 0) {
          fits_info.scale = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);
        }
        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)
                          (keyword,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);
        if (iVar8 == 0) {
          if (comment == (char *)0x0) {
            comment = (char *)(*(code *)PTR_ConstantString_003a90b4)(pbVar25);
          }
          else {
            (*(code *)PTR_ConcatenateString_003a93a8)(&comment,pbVar25);
          }
        }
        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdd8);
        if (iVar8 == 0) {
          iVar8 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar25,PTR_UINT_003a8950 + -0xdd0,3);
          if (iVar8 == 0) {
            fits_info.endian = MSBEndian;
          }
          else {
            fits_info.endian = LSBEndian;
          }
        }
        (*(code *)PTR_FormatLocaleString_003a8d7c)
                  (property,0x1000,PTR_UINT_003a8950 + -0xdcc,keyword);
        (*(code *)PTR_SetImageProperty_003a9534)(iVar7,property,pbVar25,exception);
        puVar9 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar7);
      }
      iVar8 = 0;
      while( true ) {
        uVar34 = (*(code *)PTR_TellBlob_003a931c)(iVar7);
        lVar35 = (*(code *)PTR___moddi3_003a8a78)
                           ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34,0,0xb40);
        if ((lVar35 == 0) || (iVar8 == -1)) break;
        iVar8 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);
      }
      if (fits_info.extend == MagickFalse) goto LAB_00224bd4;
      if (fits_info.bits_per_pixel - 8U < 0x19) {
        if (-1 < (int)((0x1000101U >> (fits_info.bits_per_pixel - 8U & 0x1f)) << 0x1f))
        goto LAB_002245cc;
      }
      else if (fits_info.bits_per_pixel != 0x40) {
LAB_002245cc:
        if ((fits_info.bits_per_pixel & 0xffffffdfU) != 0xffffffc0) {
          if (comment != (char *)0x0) {
            comment = (char *)(*(code *)PTR_DestroyString_003a9074)();
          }
          uVar24 = 400;
          puVar20 = PTR_s_courses_003a88ec + -400;
          goto LAB_00224c3c;
        }
      }
    } while (((fits_info.simple == MagickFalse) || (3 < fits_info.number_axes - 1U)) ||
            (lVar37 = (longlong)fits_info.columns * (longlong)fits_info.rows,
            MVar11 = fits_info.simple, iVar8 = fits_info.columns, iVar12 = fits_info.rows,
            lVar37 == 0));
    local_1144 = iVar12;
    local_1148 = iVar8;
    fits_info.simple = MVar11;
    fits_info.columns = local_1148;
    fits_info.rows = local_1144;
    if (comment != (char *)0x0) {
      (*(code *)PTR_SetImageProperty_003a9534)
                (iVar7,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,comment,exception);
      comment = (char *)(*(code *)PTR_DestroyString_003a9074)(comment);
    }
    iVar8 = (int)lVar37;
    lVar35 = CONCAT44(iVar8,puVar9);
    iVar12 = (*(code *)PTR_EOFBlob_003a9748)(iVar7);
    if (iVar12 != 0) {
      puVar17 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();
      uVar24 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar17);
      (*(code *)PTR_ThrowMagickException_003a8f20)
                (exception,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,
                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar7 + 0x340,uVar24);
      (*(code *)PTR_DestroyString_003a9074)(uVar24);
    }
    if (((MVar11 != MagickFalse) && (fits_info.number_axes - 1U < 4)) && (lVar37 != 0)) {
      local_1138 = (undefined *)fits_info.number_planes;
      if (0 < fits_info.number_planes) {
        local_1154 = (undefined *)0x0;
        local_1158 = (undefined *)fits_info.bits_per_pixel;
        local_1124 = fits_info.endian;
        iVar8 = fits_info.bits_per_pixel;
        if (0x40 < (uint)fits_info.bits_per_pixel) {
          iVar8 = 0;
        }
        iVar12 = -1;
        if (-1 < fits_info.bits_per_pixel) {
          iVar12 = 1;
        }
        uVar13 = iVar8 - 1;
        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);
        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);
        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);
        uVar23 = 2 << (uVar13 & 0x1f);
        local_1128 = iVar12 * fits_info.bits_per_pixel;
        uVar16 = uVar23;
        uVar26 = 1 >> (~uVar13 & 0x1f);
        if ((uVar13 & 0x20) != 0) {
          uVar16 = 0;
          uVar26 = uVar23;
        }
        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;
        local_111c = uVar16 - 1;
        local_1120 = (uint)(local_111c < uVar16) + (uVar26 - 1);
        goto LAB_00224900;
      }
      (*(code *)PTR_CloseBlob_003a9688)(iVar7);
      goto LAB_00224e60;
    }
    uVar24 = 0x1a5;
    puVar20 = PTR_UINT_003a8950 + -0x2c10;
LAB_00224c3c:
    lVar35 = CONCAT44(iVar8,puVar9);
    (*(code *)PTR_ThrowMagickException_003a8f20)
              (exception,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar24,0x1a9,puVar20,
               PTR_LAB_003a88e0 + 0x3e28,image_info->filename);
    if (iVar7 != 0) {
      (*(code *)PTR_CloseBlob_003a9688)(iVar7);
      (*(code *)PTR_DestroyImageList_003a9510)(iVar7);
    }
    pIVar15 = (Image *)0x0;
    dVar30 = in_f22_23;
  }
LAB_00224c7c:
  uVar2 = (ulonglong)lVar35 >> 0x20;
  if (iVar6 == *(int *)puVar4) {
    return pIVar15;
  }
  uVar24 = (*(code *)PTR___stack_chk_fail_003a9064)();
  lVar35 = CONCAT44(uVar24,(int)lVar35);
  uVar24 = (int)uVar2;
LAB_002252f8:
  uVar2 = (ulonglong)lVar35 >> 0x20;
  lVar35 = CONCAT44(uVar24,(int)lVar35);
  in_f22_23 = dVar30;
  if (((int)uVar2 == 0) && (bVar1 = 1 < local_1160._4_4_, bVar1)) goto LAB_00225060;
LAB_0022511c:
  (*(code *)PTR_SeekBlob_003a9328)(iVar7);
  dVar32 = fits_info.max_data;
LAB_002249f4:
  fits_info.max_data = dVar32;
  dVar30 = dVar30 - in_f22_23;
  do {
    iVar8 = (int)((ulonglong)lVar35 >> 0x20);
    local_1140 = (uint)((ulonglong)dVar30 >> 0x20);
    if (0.0 <= dVar30) {
      dVar32 = *(double *)(local_1134 + 0x1438);
    }
    else {
      local_1140 = local_1140 ^ 0x80000000;
      dVar32 = local_1118;
    }
    if (in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar30,0))) {
      dVar32 = *(double *)(local_1134 + 0x1438) / dVar30;
    }
    else {
      dVar32 = dVar32 / in_f28_29;
    }
    uVar26 = *(int *)(iVar7 + 0x1c) - 1;
    dVar32 = dVar32 * in_f30_31;
    if (-1 < (int)uVar26) {
      local_1160 = CONCAT44((int)uVar26 >> 0x1f,local_1160._4_4_);
      uVar16 = uVar26;
      while( true ) {
        lVar35 = CONCAT44(iVar8,&pixel);
        iVar12 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)
                           (iVar7,0,uVar26,*(undefined4 *)(iVar7 + 0x18),1,exception);
        if (iVar12 == 0) break;
        if (0 < *(int *)(iVar7 + 0x18)) {
          iVar8 = 0;
          uVar13 = *(uint *)(iVar7 + 0x20);
          dVar30 = fits_info.zero;
          dVar33 = fits_info.scale;
          do {
            uVar13 = uVar13 >> 3;
            if (uVar13 == 2) {
              sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);
              pixel = (double)(int)sVar18;
LAB_00224ae8:
              uVar13 = *(uint *)(iVar7 + 0x20);
              if (uVar13 == 0x10) goto LAB_00224b8c;
LAB_00224af8:
              if ((uVar13 == 0x20) || (uVar13 == 0x40)) goto LAB_00224b8c;
            }
            else {
              if (2 < uVar13) {
                if (uVar13 == 4) {
                  pcVar29 = (code *)PTR_ReadBlobSignedLong_003a968c;
                  if (0 < (int)local_1158) goto LAB_00224b68;
                  fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);
                  pixel = (double)fVar31;
                }
                else {
                  if ((uVar13 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;
                  uVar34 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar7);
                  pixel = (double)(*(code *)PTR___floatdidf_003a8a60)
                                            ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34);
                }
                goto LAB_00224ae8;
              }
              pcVar29 = (code *)PTR_ReadBlobByte_003a97f0;
              if (uVar13 != 1) {
LAB_00224ad8:
                pixel = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);
                goto LAB_00224ae8;
              }
LAB_00224b68:
              iVar14 = (*pcVar29)(iVar7);
              uVar13 = *(uint *)(iVar7 + 0x20);
              pixel = (double)iVar14;
              if (uVar13 != 0x10) goto LAB_00224af8;
LAB_00224b8c:
              pdVar22 = &pixel;
              if (*(int *)(iVar7 + 0x25c) != 2) {
                pdVar22 = (double *)((int)&pixel + ((uVar13 >> 3) - 1));
              }
              *(byte *)pdVar22 = *(byte *)pdVar22 ^ 0x80;
            }
            iVar8 = iVar8 + 1;
            iVar14 = *(int *)(iVar7 + 0x18);
            pfVar21 = (float *)(iVar12 + *(int *)(*(int *)(iVar7 + 0x2d0) + 8) * 4);
            iVar12 = iVar12 + *(int *)(iVar7 + 0x2c0) * 4;
            *pfVar21 = (float)(((pixel - in_f22_23) * dVar33 + dVar30) * dVar32);
          } while (iVar8 < iVar14);
        }
        lVar35 = CONCAT44(iVar8,&pixel);
        iVar12 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar7,exception);
        if ((iVar12 == 0) ||
           ((*(int *)(iVar7 + 0x3364) == 0 &&
            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)
                                    (iVar7,local_112c,local_1160._0_4_,uVar16,0,
                                     *(undefined4 *)(iVar7 + 0x1c)), lVar35 = CONCAT44(iVar8,&pixel)
            , local_114c == 0)))) break;
        uVar26 = uVar26 - 1;
        iVar8 = local_1160._0_4_ + -1;
        lVar35 = CONCAT44(iVar8,&pixel);
        local_1160 = CONCAT44((uint)(uVar16 - 1 < uVar16) + iVar8,local_1160._4_4_);
        uVar16 = uVar16 - 1;
        if (uVar26 == 0xffffffff) break;
      }
    }
    iVar8 = (*(code *)PTR_EOFBlob_003a9748)(iVar7);
    if (iVar8 != 0) {
      puVar17 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();
      uVar24 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar17);
      (*(code *)PTR_ThrowMagickException_003a8f20)
                (exception,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,
                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar7 + 0x340,uVar24);
      (*(code *)PTR_DestroyString_003a9074)(uVar24);
LAB_00224e4c:
      (*(code *)PTR_CloseBlob_003a9688)(iVar7);
      if (local_114c == 0) {
LAB_00224fc0:
        pIVar15 = (Image *)(*(code *)PTR_DestroyImageList_003a9510)(iVar7);
        dVar30 = in_f22_23;
      }
      else {
LAB_00224e60:
        pIVar15 = (Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(iVar7);
        dVar30 = in_f22_23;
      }
      goto LAB_00224c7c;
    }
    if ((image_info->number_scenes != 0) &&
       ((image_info->number_scenes + image_info->scene) - 1 <= *(uint *)(iVar7 + 0x26c)))
    goto LAB_00224e4c;
    if ((int)local_1154 < (int)(local_1138 + -1)) {
      (*(code *)PTR_AcquireNextImage_003a8f90)(image_info,iVar7,exception);
      iVar8 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar7);
      if (iVar8 != 0) {
        iVar7 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar7);
        uVar34 = (*(code *)PTR_TellBlob_003a931c)(iVar7);
        uVar36 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar7);
        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)
                               (iVar7,PTR_s_courses_003a88ec + -0x168,
                                (int)((ulonglong)uVar34 >> 0x20),(int)uVar34,uVar36);
        if (local_114c != 0) goto LAB_00224e34;
      }
      (*(code *)PTR_CloseBlob_003a9688)(iVar7);
      goto LAB_00224fc0;
    }
LAB_00224e34:
    local_1154 = local_1154 + 1;
    if (local_1154 == local_1138) goto LAB_00224e4c;
LAB_00224900:
    MVar11 = image_info->ping;
    *(int *)(iVar7 + 0x18) = local_1148;
    *(int *)(iVar7 + 0x1c) = local_1144;
    *(int *)(iVar7 + 0x20) = local_1128;
    *(EndianType *)(iVar7 + 0x25c) = local_1124;
    *(undefined **)(iVar7 + 0x26c) = local_1154;
    if (((MVar11 != MagickFalse) && (image_info->number_scenes != 0)) &&
       ((undefined *)(image_info->number_scenes + image_info->scene + -1) <= local_1154))
    goto LAB_00224e4c;
    local_114c = (*(code *)PTR_SetImageExtent_003a94ac)(iVar7,local_1148,local_1144,exception);
    if (local_114c == 0) goto LAB_00224fc0;
    (*(code *)PTR_SetImageColorspace_003a8d40)(iVar7,3,exception);
    in_f22_23 = fits_info.min_data;
    if ((fits_info.min_data != 0.0) || (fits_info.max_data != 0.0)) {
      if (local_1158 != (undefined *)0x0) goto LAB_002249dc;
      dVar30 = 0.0;
      dVar32 = dVar30;
      goto LAB_002249f4;
    }
    if (((uint)local_1158 & 0xffffffdf) != 0xffffffc0) break;
    dVar30 = fits_info.max_data;
    lVar37 = (*(code *)PTR_TellBlob_003a931c)(iVar7);
    if (lVar37 != -1) {
      lVar35 = (ulonglong)*(uint *)(iVar7 + 0x18) * (ulonglong)*(uint *)(iVar7 + 0x1c);
      uVar26 = *(uint *)(iVar7 + 0x20) >> 3;
      if (uVar26 == 2) {
        sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);
        dVar30 = (double)(int)sVar18;
      }
      else if (uVar26 == 4) {
        fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);
        dVar30 = (double)fVar31;
      }
      else if (uVar26 == 1) {
        iVar8 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);
        dVar30 = (double)iVar8;
      }
      else {
        dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);
      }
      local_1160._0_4_ = (int)((ulonglong)lVar35 >> 0x20);
      uVar24 = local_1160._0_4_;
      local_1160 = lVar35;
      fits_info.min_data = dVar30;
      fits_info.max_data = dVar30;
      if (0xffffffff < lVar35) goto LAB_00225060;
      goto LAB_002252f8;
    }
    dVar30 = dVar30 - in_f22_23;
  } while( true );
  dVar30 = 0.0;
  dVar32 = dVar30;
  if (local_1158 != (undefined *)0x0) {
LAB_002249dc:
    dVar30 = (double)(*(code *)PTR___floatdidf_003a8a60)(local_1120,local_111c);
    dVar32 = dVar30;
  }
  goto LAB_002249f4;
LAB_00225060:
  iVar8 = 0;
  uVar26 = 1;
  dVar32 = dVar30;
  dVar33 = dVar30;
  do {
    uVar16 = *(uint *)(iVar7 + 0x20) >> 3;
    if (uVar16 == 2) {
      sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);
      dVar30 = (double)(int)sVar18;
    }
    else if (uVar16 == 4) {
      fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);
      dVar30 = (double)fVar31;
    }
    else if (uVar16 == 1) {
      iVar12 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);
      dVar30 = (double)iVar12;
    }
    else {
      dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);
    }
    dVar5 = dVar30;
    if (dVar33 <= dVar30) {
      dVar5 = fits_info.min_data;
    }
    fits_info.min_data = dVar5;
    uVar16 = uVar26 + 1;
    dVar33 = dVar30;
    if (dVar30 <= dVar32) {
      dVar30 = dVar32;
      dVar33 = fits_info.max_data;
    }
    fits_info.max_data = dVar33;
    iVar8 = (uint)(uVar16 < uVar26) + iVar8;
    uVar26 = uVar16;
    dVar32 = dVar30;
    dVar33 = fits_info.min_data;
    in_f22_23 = fits_info.min_data;
  } while (lVar35 != CONCAT44(iVar8,uVar16));
  goto LAB_0022511c;
}



undefined4 FUN_0022407c(int param_1,int param_2)

{
  bool bVar1;
  ulonglong uVar2;
  undefined *puVar3;
  undefined *puVar4;
  double dVar5;
  int iVar6;
  int iVar7;
  undefined1 *puVar8;
  int *piVar9;
  byte bVar16;
  int iVar10;
  uint uVar11;
  int iVar12;
  uint uVar13;
  short sVar15;
  undefined4 *puVar14;
  undefined *puVar17;
  float *pfVar18;
  double *pdVar19;
  undefined4 uVar20;
  byte *pbVar21;
  uint uVar22;
  undefined4 unaff_s3;
  undefined *puVar23;
  undefined4 unaff_s5;
  undefined *puVar24;
  code *pcVar25;
  double dVar26;
  float fVar27;
  double dVar28;
  double in_f22_23;
  double dVar29;
  double in_f28_29;
  double in_f30_31;
  undefined8 uVar30;
  longlong lVar31;
  undefined8 uVar32;
  longlong lVar33;
  undefined8 local_1160;
  undefined1 *local_1158;
  undefined *local_1154;
  int local_114c;
  int local_1148;
  int local_1144;
  uint local_1140;
  undefined *local_1138;
  undefined *local_1134;
  undefined *local_112c;
  int local_1128;
  undefined4 local_1124;
  int local_1120;
  uint local_111c;
  double local_1118;
  undefined1 local_110c [4];
  double local_1108;
  uint local_1100;
  uint local_10fc;
  undefined1 *local_10f8;
  int local_10f4;
  int local_10f0;
  int local_10ec;
  undefined *local_10e8;
  double local_10e0;
  double local_10d8;
  double local_10d0;
  double local_10c8;
  undefined4 local_10c0;
  byte local_10b4 [12];
  byte local_10a8 [2];
  byte local_10a6 [70];
  undefined1 local_1060;
  undefined1 auStack_105c [4096];
  int local_5c;
  
  puVar4 = PTR___stack_chk_guard_003a9230;
  lVar31 = CONCAT44(unaff_s3,unaff_s5);
  local_5c = *(int *)PTR___stack_chk_guard_003a9230;
  if (param_1 == 0) {
    uVar20 = (*(code *)PTR___assert_fail_003a9608)
                       (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,
                        PTR_UINT_003a8950 + -0xc60);
    return uVar20;
  }
  if (*(int *)(param_1 + 0x3214) != -0x54535255) {
    uVar20 = (*(code *)PTR___assert_fail_003a9608)
                       (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,
                        PTR_UINT_003a8950 + -0xc60);
    return uVar20;
  }
  if (*(int *)(param_1 + 0x3210) != 0) {
    (*(code *)PTR_LogMagickEvent_003a91e0)
              (0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,
               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);
  }
  if (param_2 == 0) {
    uVar20 = (*(code *)PTR___assert_fail_003a9608)
                       (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,
                        PTR_UINT_003a8950 + -0xc60);
    return uVar20;
  }
  if (*(int *)(param_2 + 0x1c) != -0x54535255) {
    uVar20 = (*(code *)PTR___assert_fail_003a9608)
                       (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,
                        PTR_UINT_003a8950 + -0xc60);
    return uVar20;
  }
  iVar6 = (*(code *)PTR_AcquireImage_003a960c)(param_1,param_2);
  local_114c = (*(code *)PTR_OpenBlob_003a924c)(param_1,iVar6,2,param_2);
  puVar3 = PTR_UINT_003a8950;
  puVar17 = PTR_LAB_003a88e0;
  if (local_114c == 0) {
    (*(code *)PTR_DestroyImageList_003a9510)(iVar6);
    uVar20 = 0;
    dVar26 = in_f22_23;
  }
  else {
    local_1158 = PTR_UINT_003a8950;
    local_1134 = PTR_LAB_003a88e0;
    local_1154 = PTR_UINT_003a8950;
    (*(code *)PTR_memset_003a96d4)(&local_1100,0,0x48);
    local_10c8 = *(double *)(puVar17 + 0x1438);
    local_10f8 = &DAT_00000008;
    local_10f4 = 1;
    local_10f0 = 1;
    local_10e8 = (undefined *)0x1;
    puVar17 = PTR_UINT_003a8950 + -0xe20;
    puVar23 = PTR_s_t_to_left_003a88e4 + 0x544;
    local_10c0 = 2;
    puVar24 = PTR_UINT_003a8950 + -0xe30;
    local_1160 = CONCAT44(puVar17,local_1160._4_4_);
    local_110c = (undefined1  [4])0x0;
    puVar8 = PTR_UINT_003a8950;
    do {
      iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);
      if (iVar7 != 0) {
LAB_00224bd4:
        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;
        uVar22 = local_10fc;
        iVar7 = local_10f4;
        iVar10 = local_10f0;
        break;
      }
      puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);
      while (puVar8 == (undefined1 *)0x0) {
        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);
        if (iVar7 != 8) break;
        piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();
        pbVar21 = local_10b4;
        do {
          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;
          puVar8 = puVar8 + 1;
          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();
          *pbVar21 = bVar16;
          pbVar21 = pbVar21 + 1;
        } while (puVar8 != &DAT_00000008);
        pbVar21 = local_10a8;
        local_10b4[(int)puVar8] = 0;
        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);
        local_1060 = 0;
        if (iVar7 != 0x48) break;
        if (local_10a8[0] == 0x3d) {
          pbVar21 = local_10a6;
          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {
            pbVar21 = pbVar21 + 1;
          }
        }
        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);
        if (iVar7 == 0) break;
        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);
        if (iVar7 == 0) {
          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);
        }
        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);
        if (iVar7 == 0) {
          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);
        }
        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);
        if (iVar7 == 0) {
          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);
        }
        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);
        if (iVar7 == 0) {
          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);
        }
        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);
        if (iVar7 == 0) {
          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);
        }
        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);
        if (iVar7 == 0) {
          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);
        }
        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);
        if (iVar7 == 0) {
          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);
        }
        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);
        if (iVar7 == 0) {
          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);
        }
        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);
        if (iVar7 == 0) {
          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);
        }
        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);
        if (iVar7 == 0) {
          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);
        }
        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);
        if (iVar7 == 0) {
          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);
        }
        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)
                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);
        if (iVar7 == 0) {
          if (local_110c == (undefined1  [4])0x0) {
            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);
          }
          else {
            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);
          }
        }
        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);
        if (iVar7 == 0) {
          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);
          if (iVar7 == 0) {
            local_10c0 = 2;
          }
          else {
            local_10c0 = 1;
          }
        }
        (*(code *)PTR_FormatLocaleString_003a8d7c)
                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);
        (*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);
        puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);
      }
      iVar7 = 0;
      while( true ) {
        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);
        lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);
        if ((lVar31 == 0) || (iVar7 == -1)) break;
        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);
      }
      if (local_1100 == 0) goto LAB_00224bd4;
      if (local_10f8 + -8 < &DAT_00000019) {
        if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;
      }
      else if (local_10f8 != (undefined1 *)0x40) {
LAB_002245cc:
        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {
          if (local_110c != (undefined1  [4])0x0) {
            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();
          }
          uVar20 = 400;
          puVar17 = PTR_s_courses_003a88ec + -400;
          goto LAB_00224c3c;
        }
      }
    } while (((local_10fc == 0) || (3 < local_10ec - 1U)) ||
            (lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,
            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0));
    local_1144 = iVar10;
    local_1148 = iVar7;
    local_10fc = uVar22;
    local_10f4 = local_1148;
    local_10f0 = local_1144;
    if (local_110c != (undefined1  [4])0x0) {
      (*(code *)PTR_SetImageProperty_003a9534)
                (iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)
      ;
      local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c);
    }
    iVar7 = (int)lVar33;
    lVar31 = CONCAT44(iVar7,puVar8);
    iVar10 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);
    if (iVar10 != 0) {
      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();
      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);
      (*(code *)PTR_ThrowMagickException_003a8f20)
                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,
                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);
      (*(code *)PTR_DestroyString_003a9074)(uVar20);
    }
    if (((uVar22 != 0) && (local_10ec - 1U < 4)) && (lVar33 != 0)) {
      local_1138 = local_10e8;
      if (0 < (int)local_10e8) {
        local_1154 = (undefined *)0x0;
        local_1158 = local_10f8;
        local_1124 = local_10c0;
        puVar8 = local_10f8;
        if ((undefined1 *)0x40 < local_10f8) {
          puVar8 = (undefined1 *)0x0;
        }
        iVar7 = -1;
        if (-1 < (int)local_10f8) {
          iVar7 = 1;
        }
        puVar8 = puVar8 + -1;
        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);
        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);
        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);
        uVar11 = 2 << ((uint)puVar8 & 0x1f);
        local_1128 = iVar7 * (int)local_10f8;
        uVar13 = uVar11;
        uVar22 = 1 >> (~(uint)puVar8 & 0x1f);
        if (((uint)puVar8 & 0x20) != 0) {
          uVar13 = 0;
          uVar22 = uVar11;
        }
        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;
        local_111c = uVar13 - 1;
        local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);
        goto LAB_00224900;
      }
      (*(code *)PTR_CloseBlob_003a9688)(iVar6);
      goto LAB_00224e60;
    }
    uVar20 = 0x1a5;
    puVar17 = PTR_UINT_003a8950 + -0x2c10;
LAB_00224c3c:
    lVar31 = CONCAT44(iVar7,puVar8);
    (*(code *)PTR_ThrowMagickException_003a8f20)
              (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar20,0x1a9,puVar17,
               PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x2210);
    if (iVar6 != 0) {
      (*(code *)PTR_CloseBlob_003a9688)(iVar6);
      (*(code *)PTR_DestroyImageList_003a9510)(iVar6);
    }
    uVar20 = 0;
    dVar26 = in_f22_23;
  }
LAB_00224c7c:
  uVar2 = (ulonglong)lVar31 >> 0x20;
  if (local_5c == *(int *)puVar4) {
    return uVar20;
  }
  uVar20 = (*(code *)PTR___stack_chk_fail_003a9064)();
  lVar31 = CONCAT44(uVar20,(int)lVar31);
  uVar20 = (int)uVar2;
LAB_002252f8:
  uVar2 = (ulonglong)lVar31 >> 0x20;
  lVar31 = CONCAT44(uVar20,(int)lVar31);
  in_f22_23 = dVar26;
  if (((int)uVar2 == 0) && (bVar1 = 1 < local_1160._4_4_, bVar1)) goto LAB_00225060;
LAB_0022511c:
  (*(code *)PTR_SeekBlob_003a9328)(iVar6);
  dVar28 = local_10d8;
LAB_002249f4:
  local_10d8 = dVar28;
  dVar26 = dVar26 - in_f22_23;
  do {
    iVar7 = (int)((ulonglong)lVar31 >> 0x20);
    local_1140 = (uint)((ulonglong)dVar26 >> 0x20);
    if (0.0 <= dVar26) {
      dVar28 = *(double *)(local_1134 + 0x1438);
    }
    else {
      local_1140 = local_1140 ^ 0x80000000;
      dVar28 = local_1118;
    }
    if (in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar26,0))) {
      dVar28 = *(double *)(local_1134 + 0x1438) / dVar26;
    }
    else {
      dVar28 = dVar28 / in_f28_29;
    }
    uVar22 = *(int *)(iVar6 + 0x1c) - 1;
    dVar28 = dVar28 * in_f30_31;
    if (-1 < (int)uVar22) {
      local_1160 = CONCAT44((int)uVar22 >> 0x1f,local_1160._4_4_);
      uVar13 = uVar22;
      while( true ) {
        lVar31 = CONCAT44(iVar7,&local_1108);
        iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)
                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2);
        if (iVar10 == 0) break;
        if (0 < *(int *)(iVar6 + 0x18)) {
          iVar7 = 0;
          uVar11 = *(uint *)(iVar6 + 0x20);
          dVar26 = local_10d0;
          dVar29 = local_10c8;
          do {
            uVar11 = uVar11 >> 3;
            if (uVar11 == 2) {
              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);
              local_1108 = (double)(int)sVar15;
LAB_00224ae8:
              uVar11 = *(uint *)(iVar6 + 0x20);
              if (uVar11 == 0x10) goto LAB_00224b8c;
LAB_00224af8:
              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;
            }
            else {
              if (2 < uVar11) {
                if (uVar11 == 4) {
                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;
                  if (0 < (int)local_1158) goto LAB_00224b68;
                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);
                  local_1108 = (double)fVar27;
                }
                else {
                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;
                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);
                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)
                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);
                }
                goto LAB_00224ae8;
              }
              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;
              if (uVar11 != 1) {
LAB_00224ad8:
                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);
                goto LAB_00224ae8;
              }
LAB_00224b68:
              iVar12 = (*pcVar25)(iVar6);
              uVar11 = *(uint *)(iVar6 + 0x20);
              local_1108 = (double)iVar12;
              if (uVar11 != 0x10) goto LAB_00224af8;
LAB_00224b8c:
              pdVar19 = &local_1108;
              if (*(int *)(iVar6 + 0x25c) != 2) {
                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));
              }
              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;
            }
            iVar7 = iVar7 + 1;
            iVar12 = *(int *)(iVar6 + 0x18);
            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);
            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;
            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);
          } while (iVar7 < iVar12);
        }
        lVar31 = CONCAT44(iVar7,&local_1108);
        iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2);
        if ((iVar10 == 0) ||
           ((*(int *)(iVar6 + 0x3364) == 0 &&
            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)
                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,
                                     *(undefined4 *)(iVar6 + 0x1c)),
            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))) break;
        uVar22 = uVar22 - 1;
        iVar7 = local_1160._0_4_ + -1;
        lVar31 = CONCAT44(iVar7,&local_1108);
        local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_);
        uVar13 = uVar13 - 1;
        if (uVar22 == 0xffffffff) break;
      }
    }
    iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);
    if (iVar7 != 0) {
      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();
      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);
      (*(code *)PTR_ThrowMagickException_003a8f20)
                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,
                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);
      (*(code *)PTR_DestroyString_003a9074)(uVar20);
LAB_00224e4c:
      (*(code *)PTR_CloseBlob_003a9688)(iVar6);
      if (local_114c == 0) {
LAB_00224fc0:
        uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);
        dVar26 = in_f22_23;
      }
      else {
LAB_00224e60:
        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);
        dVar26 = in_f22_23;
      }
      goto LAB_00224c7c;
    }
    if ((*(int *)(param_1 + 0x2c) != 0) &&
       ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= *(uint *)(iVar6 + 0x26c)))
    goto LAB_00224e4c;
    if ((int)local_1154 < (int)(local_1138 + -1)) {
      (*(code *)PTR_AcquireNextImage_003a8f90)(param_1,iVar6,param_2);
      iVar7 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar6);
      if (iVar7 != 0) {
        iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6);
        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);
        uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6);
        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)
                               (iVar6,PTR_s_courses_003a88ec + -0x168,
                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32);
        if (local_114c != 0) goto LAB_00224e34;
      }
      (*(code *)PTR_CloseBlob_003a9688)(iVar6);
      goto LAB_00224fc0;
    }
LAB_00224e34:
    local_1154 = local_1154 + 1;
    if (local_1154 == local_1138) goto LAB_00224e4c;
LAB_00224900:
    iVar7 = *(int *)(param_1 + 0x1dc);
    *(int *)(iVar6 + 0x18) = local_1148;
    *(int *)(iVar6 + 0x1c) = local_1144;
    *(int *)(iVar6 + 0x20) = local_1128;
    *(undefined4 *)(iVar6 + 0x25c) = local_1124;
    *(undefined **)(iVar6 + 0x26c) = local_1154;
    if (((iVar7 != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&
       ((undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1) <= local_1154))
    goto LAB_00224e4c;
    local_114c = (*(code *)PTR_SetImageExtent_003a94ac)(iVar6,local_1148,local_1144,param_2);
    if (local_114c == 0) goto LAB_00224fc0;
    (*(code *)PTR_SetImageColorspace_003a8d40)(iVar6,3,param_2);
    in_f22_23 = local_10e0;
    if ((local_10e0 != 0.0) || (local_10d8 != 0.0)) {
      if (local_1158 != (undefined1 *)0x0) goto LAB_002249dc;
      dVar26 = 0.0;
      dVar28 = dVar26;
      goto LAB_002249f4;
    }
    if (((uint)local_1158 & 0xffffffdf) != 0xffffffc0) break;
    dVar26 = local_10d8;
    lVar33 = (*(code *)PTR_TellBlob_003a931c)(iVar6);
    if (lVar33 != -1) {
      lVar31 = (ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)*(uint *)(iVar6 + 0x1c);
      uVar22 = *(uint *)(iVar6 + 0x20) >> 3;
      if (uVar22 == 2) {
        sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);
        dVar26 = (double)(int)sVar15;
      }
      else if (uVar22 == 4) {
        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);
        dVar26 = (double)fVar27;
      }
      else if (uVar22 == 1) {
        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);
        dVar26 = (double)iVar7;
      }
      else {
        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);
      }
      local_1160._0_4_ = (int)((ulonglong)lVar31 >> 0x20);
      uVar20 = local_1160._0_4_;
      local_1160 = lVar31;
      local_10e0 = dVar26;
      local_10d8 = dVar26;
      if (0xffffffff < lVar31) goto LAB_00225060;
      goto LAB_002252f8;
    }
    dVar26 = dVar26 - in_f22_23;
  } while( true );
  dVar26 = 0.0;
  dVar28 = dVar26;
  if (local_1158 != (undefined1 *)0x0) {
LAB_002249dc:
    dVar26 = (double)(*(code *)PTR_FUN_003a8a60)(local_1120,local_111c);
    dVar28 = dVar26;
  }
  goto LAB_002249f4;
LAB_00225060:
  iVar7 = 0;
  uVar22 = 1;
  dVar28 = dVar26;
  dVar29 = dVar26;
  do {
    uVar13 = *(uint *)(iVar6 + 0x20) >> 3;
    if (uVar13 == 2) {
      sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);
      dVar26 = (double)(int)sVar15;
    }
    else if (uVar13 == 4) {
      fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);
      dVar26 = (double)fVar27;
    }
    else if (uVar13 == 1) {
      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);
      dVar26 = (double)iVar10;
    }
    else {
      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);
    }
    dVar5 = dVar26;
    if (dVar29 <= dVar26) {
      dVar5 = local_10e0;
    }
    local_10e0 = dVar5;
    uVar13 = uVar22 + 1;
    dVar29 = dVar26;
    if (dVar26 <= dVar28) {
      dVar26 = dVar28;
      dVar29 = local_10d8;
    }
    local_10d8 = dVar29;
    iVar7 = (uint)(uVar13 < uVar22) + iVar7;
    uVar22 = uVar13;
    dVar28 = dVar26;
    dVar29 = local_10e0;
    in_f22_23 = local_10e0;
  } while (lVar31 != CONCAT44(iVar7,uVar13));
  goto LAB_0022511c;
}


lui gp,0x19
addiu gp,gp,-0x37cc
addu gp,gp,t9
lw v0,-0x7680(gp)
addiu sp,sp,-0x1198
sdc1 f30,0x1190(sp)
sw v0,0x68(sp)
sw gp,0x28(sp)
sw ra,0x1164(sp)
sw s8,0x1160(sp)
sw s7,0x115c(sp)
sw s6,0x1158(sp)
sw s5,0x1154(sp)
sw s4,0x1150(sp)
sw s3,0x114c(sp)
sw s2,0x1148(sp)
sw s1,0x1144(sp)
sw s0,0x1140(sp)
sw a0,0x48(sp)
sw a1,0x34(sp)
lw v0,0x0(v0)
sdc1 f28,0x1188(sp)
sdc1 f26,0x1180(sp)
sw v0,0x113c(sp)
sdc1 f24,0x1178(sp)
sdc1 f22,0x1170(sp)
beq a0,zero,0x002252b0
_sdc1 f20,0x1168(sp)
lw v0,0x48(sp)
lw v1,0x3214(v0)
lui v0,0xabac
ori v0,v0,0xadab
bne v1,v0,0x0022528c
_lw v0,0x48(sp)
lw v0,0x3210(v0)
beq v0,zero,0x00224150
_lw v0,0x34(sp)
lw v0,0x48(sp)
li a3,0x123
lw a2,-0x7f60(gp)
ori a0,zero,0x8000
lw a1,-0x7f60(gp)
addiu v0,v0,0x2210
lw t9,-0x76d0(gp)
addiu a2,a2,-0xc70
sw v0,0x14(sp)
addiu a1,a1,-0xe40
lw v0,-0x7fcc(gp)
addiu v0,v0,-0x62ac
jalr t9
_sw v0,0x10(sp)
lw gp,0x28(sp)
lw v0,0x34(sp)
beq v0,zero,0x00225268
_lw v0,0x34(sp)
lw v1,0x1c(v0)
lui v0,0xabac
ori v0,v0,0xadab
bne v1,v0,0x00225244
_lw s0,0x48(sp)
lw s1,0x34(sp)
lw t9,-0x72a4(gp)
or a1,s1,zero
jalr t9
_or a0,s0,zero
li a2,0x2
lw gp,0x28(sp)
or a3,s1,zero
or a1,v0,zero
or a0,s0,zero
lw t9,-0x7664(gp)
jalr t9
_or s7,v0,zero
lw gp,0x28(sp)
beq v0,zero,0x0022513c
_sw v0,0x4c(sp)
lw v0,-0x7f60(gp)
li a2,0x48
lw s0,-0x7fd0(gp)
or a1,zero,zero
lw t9,-0x71dc(gp)
addiu a0,sp,0x98
sw v0,0x40(sp)
sw s0,0x64(sp)
lw v0,-0x7f60(gp)
jalr t9
_sw v0,0x44(sp)
li v0,0x1
lw gp,0x28(sp)
li v1,0x8
ldc1 f0,0x1438(s0)
sw v1,0xa0(sp)
sw v0,0xa4(sp)
sw v0,0xa8(sp)
sw v0,0xb0(sp)
li v0,0x2
lw s5,-0x7f60(gp)
lw s4,-0x7fcc(gp)
lw s6,-0x7f60(gp)
addiu v1,s5,-0xe20
sdc1 f0,0xd0(sp)
addiu s4,s4,0x544
sw v0,0xd8(sp)
addiu s6,s6,-0xe30
sw v1,0x38(sp)
sw zero,0x8c(sp)
lw t9,-0x7168(gp)
jalr t9
_or a0,s7,zero
lw gp,0x28(sp)
bne v0,zero,0x00224bd4
_or s3,v0,zero
lw t9,-0x7168(gp)
jalr t9
_or a0,s7,zero
lw gp,0x28(sp)
bne v0,zero,0x00224550
_or s5,v0,zero
lw t9,-0x7b04(gp)
addiu s0,sp,0xe4
li a1,0x8
or a0,s7,zero
jalr t9
_or a2,s0,zero
li a0,0x8
bne v0,a0,0x00224550
_lw gp,0x28(sp)
lw t9,-0x747c(gp)
li s2,0x8
jalr t9
_or s8,s0,zero
lw gp,0x28(sp)
or s1,v0,zero
lbu a0,0x0(s8)
lw v0,0x0(s1)
sll a1,a0,0x1
addu v0,v0,a1
lhu v0,0x0(v0)
andi v0,v0,0x20
bne v0,zero,0x002242c8
_lw t9,-0x722c(gp)
addiu s8,s8,0x1
jalr t9
_addiu s5,s5,0x1
lw gp,0x28(sp)
bne s5,s2,0x00224290
_sb v0,-0x1(s8)
addiu v0,sp,0x1140
lw t9,-0x7b04(gp)
addiu s2,sp,0xf0
addu v1,v0,s5
li a1,0x48
or a2,s2,zero
sb zero,-0x105c(v1)
jalr t9
_or a0,s7,zero
li v1,0x48
lw gp,0x28(sp)
bne v0,v1,0x00224550
_sb zero,0x138(sp)
lb v1,0xf0(sp)
li v0,0x3d
beq v1,v0,0x00224754
_lw t9,-0x77a0(gp)
or a1,s4,zero
jalr t9
_or a0,s0,zero
beq v0,zero,0x00224550
_lw gp,0x28(sp)
lw t9,-0x77a0(gp)
or a1,s6,zero
jalr t9
_or a0,s0,zero
bne v0,zero,0x00224350
_lw gp,0x28(sp)
lbu v0,0x0(s2)
andi v0,v0,0xdf
seb v0,v0
xori v0,v0,0x54
sltiu v0,v0,0x1
sw v0,0x98(sp)
lw v0,0x40(sp)
or a0,s0,zero
lw t9,-0x77a0(gp)
jalr t9
_addiu a1,v0,-0xe28
bne v0,zero,0x00224384
_lw gp,0x28(sp)
lbu v0,0x0(s2)
andi v0,v0,0xdf
seb v0,v0
xori v0,v0,0x54
sltiu v0,v0,0x1
sw v0,0x9c(sp)
lw t9,-0x77a0(gp)
or a0,s0,zero
jalr t9
_lw a1,0x38(sp)
beq v0,zero,0x00224728
_lw gp,0x28(sp)
lw v0,0x44(sp)
or a0,s0,zero
lw t9,-0x77a0(gp)
jalr t9
_addiu a1,v0,-0xe18
beq v0,zero,0x00224708
_lw gp,0x28(sp)
lw a1,-0x7f60(gp)
or a0,s0,zero
lw t9,-0x77a0(gp)
jalr t9
_addiu a1,a1,-0xe10
beq v0,zero,0x002246e8
_lw gp,0x28(sp)
lw a1,-0x7f60(gp)
or a0,s0,zero
lw t9,-0x77a0(gp)
jalr t9
_addiu a1,a1,-0xe08
beq v0,zero,0x002246c8
_lw gp,0x28(sp)
lw a1,-0x7f60(gp)
or a0,s0,zero
lw t9,-0x77a0(gp)
jalr t9
_addiu a1,a1,-0xe00
beq v0,zero,0x002246a8
_lw gp,0x28(sp)
lw a1,-0x7f60(gp)
or a0,s0,zero
lw t9,-0x77a0(gp)
jalr t9
_addiu a1,a1,-0xdf8
beq v0,zero,0x0022468c
_lw gp,0x28(sp)
lw a1,-0x7f60(gp)
or a0,s0,zero
lw t9,-0x77a0(gp)
jalr t9
_addiu a1,a1,-0xdf0
beq v0,zero,0x00224670
_lw gp,0x28(sp)
lw a1,-0x7f60(gp)
or a0,s0,zero
lw t9,-0x77a0(gp)
jalr t9
_addiu a1,a1,-0xde8
beq v0,zero,0x00224654
_lw gp,0x28(sp)
lw a1,-0x7f60(gp)
or a0,s0,zero
lw t9,-0x77a0(gp)
jalr t9
_addiu a1,a1,-0xde0
beq v0,zero,0x00224638
_lw gp,0x28(sp)
lw a1,-0x7fc8(gp)
or a0,s0,zero
lw t9,-0x77a0(gp)
jalr t9
_addiu a1,a1,-0x1928
bne v0,zero,0x002244b4
_lw gp,0x28(sp)
lw v0,0x8c(sp)
beq v0,zero,0x00224bbc
_lw t9,-0x7508(gp)
addiu a0,sp,0x8c
jalr t9
_or a1,s2,zero
lw gp,0x28(sp)
lw a1,-0x7f60(gp)
or a0,s0,zero
lw t9,-0x77a0(gp)
jalr t9
_addiu a1,a1,-0xdd8
bne v0,zero,0x002244f8
_lw gp,0x28(sp)
lw a1,-0x7f60(gp)
li a2,0x3
lw t9,-0x7294(gp)
or a0,s2,zero
jalr t9
_addiu a1,a1,-0xdd0
bne v0,zero,0x00224748
_lw gp,0x28(sp)
li v0,0x2
sw v0,0xd8(sp)
lw a2,-0x7f60(gp)
or a3,s0,zero
lw t9,-0x7b34(gp)
addiu s0,sp,0x13c
li a1,0x1000
addiu a2,a2,-0xdcc
jalr t9
_or a0,s0,zero
or a2,s2,zero
lw gp,0x28(sp)
or a1,s0,zero
lw a3,0x34(sp)
lw t9,-0x737c(gp)
jalr t9
_or a0,s7,zero
lw gp,0x28(sp)
lw t9,-0x7168(gp)
jalr t9
_or a0,s7,zero
lw gp,0x28(sp)
beq v0,zero,0x00224254
_or s5,v0,zero
b 0x00224570
_li s0,-0x1
beq s3,s0,0x002245a4
_lw t9,-0x70c0(gp)
jalr t9
_or a0,s7,zero
lw gp,0x28(sp)
or s3,v0,zero
lw t9,-0x7594(gp)
jalr t9
_or a0,s7,zero
li a3,0xb40
lw gp,0x28(sp)
or a2,zero,zero
or a1,v1,zero
lw t9,-0x7e38(gp)
jalr t9
_or a0,v0,zero
or v0,v0,v1
bne v0,zero,0x00224558
_lw gp,0x28(sp)
lw v0,0x98(sp)
beq v0,zero,0x00224bd4
_lw a0,0xa0(sp)
addiu v1,a0,-0x8
sltiu v0,v1,0x19
bne v0,zero,0x00224788
_lui v0,0x100
li v0,0x40
beq a0,v0,0x0022479c
_li v1,-0x21
li v0,-0x40
and a0,a0,v1
beq a0,v0,0x0022479c
_nop
lw a0,0x8c(sp)
beq a0,zero,0x002245fc
_nop
lw t9,-0x783c(gp)
jalr t9
_nop
lw gp,0x28(sp)
sw v0,0x8c(sp)
lw v0,0x48(sp)
li a3,0x190
lw a2,-0x7f60(gp)
lw a1,-0x7f60(gp)
addiu v0,v0,0x2210
lw t9,-0x7990(gp)
addiu a2,a2,-0xc70
sw v0,0x1c(sp)
addiu a1,a1,-0xe40
lw v0,-0x7fd0(gp)
addiu v0,v0,0x3e28
sw v0,0x18(sp)
lw v0,-0x7fc4(gp)
b 0x00224c3c
_addiu v0,v0,-0x190
lw t9,-0x7148(gp)
or a1,zero,zero
jalr t9
_or a0,s2,zero
lw gp,0x28(sp)
b 0x0022447c
_sdc1 f0,0xd0(sp)
lw t9,-0x7148(gp)
or a1,zero,zero
jalr t9
_or a0,s2,zero
lw gp,0x28(sp)
b 0x00224460
_sdc1 f0,0xc8(sp)
lw t9,-0x7148(gp)
or a1,zero,zero
jalr t9
_or a0,s2,zero
lw gp,0x28(sp)
b 0x00224444
_sdc1 f0,0xb8(sp)
lw t9,-0x7148(gp)
or a1,zero,zero
jalr t9
_or a0,s2,zero
lw gp,0x28(sp)
b 0x00224428
_sdc1 f0,0xc0(sp)
lw t9,-0x7364(gp)
li a2,0xa
or a1,zero,zero
jalr t9
_or a0,s2,zero
lw gp,0x28(sp)
b 0x0022440c
_sw v0,0xb0(sp)
lw t9,-0x7364(gp)
li a2,0xa
or a1,zero,zero
jalr t9
_or a0,s2,zero
lw gp,0x28(sp)
b 0x002243f0
_sw v0,0xa8(sp)
lw t9,-0x7364(gp)
li a2,0xa
or a1,zero,zero
jalr t9
_or a0,s2,zero
lw gp,0x28(sp)
b 0x002243d4
_sw v0,0xa4(sp)
lw t9,-0x7364(gp)
li a2,0xa
or a1,zero,zero
jalr t9
_or a0,s2,zero
lw gp,0x28(sp)
b 0x002243b8
_sw v0,0xac(sp)
lw t9,-0x7364(gp)
li a2,0xa
or a1,zero,zero
jalr t9
_or a0,s2,zero
lw gp,0x28(sp)
b 0x0022439c
_sw v0,0xa0(sp)
li v0,0x1
b 0x002244f8
_sw v0,0xd8(sp)
lw v1,0x0(s1)
b 0x00224764
_addiu s2,sp,0xf2
addiu s2,s2,0x1
lbu v0,0x0(s2)
sll v0,v0,0x1
addu v0,v1,v0
lhu v0,0x0(v0)
andi v0,v0,0x20
bne v0,zero,0x00224760
_lw t9,-0x77a0(gp)
b 0x00224310
_or a1,s4,zero
addiu v0,v0,0x101
srlv v0,v0,v1
ext v0,v0,0x0,0x1
beq v0,zero,0x002245cc
_li v1,-0x21
lw s0,0x9c(sp)
beq s0,zero,0x00224228
_lw t9,-0x7168(gp)
lw v0,0xac(sp)
addiu v0,v0,-0x1
sltiu v0,v0,0x4
beq v0,zero,0x00224228
_lw v0,0xa4(sp)
lw v1,0xa8(sp)
mult v0,v1
mflo s3
mfhi s2
or a0,s2,s3
beq a0,zero,0x00224228
_lw a2,0x8c(sp)
sw v0,0x50(sp)
beq a2,zero,0x00224818
_sw v1,0x54(sp)
lw a1,-0x7fc8(gp)
or a0,s7,zero
lw t9,-0x737c(gp)
lw a3,0x34(sp)
jalr t9
_addiu a1,a1,-0x1928
lw gp,0x28(sp)
lw t9,-0x783c(gp)
jalr t9
_lw a0,0x8c(sp)
lw gp,0x28(sp)
sw v0,0x8c(sp)
lw t9,-0x7168(gp)
jalr t9
_or a0,s7,zero
bne v0,zero,0x00224cd4
_lw gp,0x28(sp)
beq s0,zero,0x00224c04
_lw v0,0xac(sp)
addiu v0,v0,-0x1
sltiu v0,v0,0x4
beq v0,zero,0x00224c04
_or s2,s2,s3
beq s2,zero,0x00224c08
_lw v0,0x48(sp)
lw v0,0xb0(sp)
blez v0,0x00225230
_sw v0,0x60(sp)
lw a1,0xa0(sp)
li a0,0x40
li v1,0x1
lw t0,0xd8(sp)
sw zero,0x44(sp)
sltiu v0,a1,0x41
sw a1,0x40(sp)
or a3,a1,zero
sw t0,0x74(sp)
movz a3,a0,v0
li a0,-0x1
slti a2,a1,0x0
movz a0,v1,a2
or v0,a3,zero
addiu v0,v0,-0x1
or a2,a0,zero
lw a0,-0x7fd0(gp)
or a3,a1,zero
lw a1,-0x7fd0(gp)
ldc1 f0,0x1a78(a0)
nor a0,zero,v0
srlv v1,v1,a0
lw a0,-0x7fd0(gp)
ldc1 f28,0x13f8(a1)
li a1,0x2
ldc1 f30,0x1a58(a0)
sllv a1,a1,v0
andi a0,v0,0x20
or v0,v1,zero
mul v1,a2,a3
movn v0,a1,a0
movn a1,zero,a0
addiu v0,v0,-0x1
sdc1 f0,0x80(sp)
sw v1,0x70(sp)
lw v1,-0x7fc8(gp)
addiu v1,v1,-0x2dd0
sw v1,0x6c(sp)
addiu v1,a1,-0x1
sw v1,0x7c(sp)
sltu v1,v1,a1
addu v0,v1,v0
sw v0,0x78(sp)
lw v1,0x48(sp)
lw a0,0x50(sp)
lw v0,0x1dc(v1)
sw a0,0x18(s7)
lw a0,0x54(sp)
sw a0,0x1c(s7)
lw a0,0x70(sp)
sw a0,0x20(s7)
lw a0,0x74(sp)
sw a0,0x25c(s7)
lw a0,0x44(sp)
beq v0,zero,0x00224958
_sw a0,0x26c(s7)
lw v0,0x2c(v1)
beq v0,zero,0x0022495c
_lw t9,-0x7404(gp)
lw v1,0x28(v1)
addu v0,v0,v1
addiu v0,v0,-0x1
sltu v0,a0,v0
beq v0,zero,0x00224e4c
_lw t9,-0x7228(gp)
lw t9,-0x7404(gp)
or a0,s7,zero
lw a3,0x34(sp)
lw a2,0x54(sp)
jalr t9
_lw a1,0x50(sp)
lw gp,0x28(sp)
beq v0,zero,0x00224fc0
_sw v0,0x4c(sp)
lw t9,-0x7b70(gp)
li a1,0x3
lw a2,0x34(sp)
jalr t9
_or a0,s7,zero
mtc1 zero,f0
ldc1 f22,0xb8(sp)
mthc1 zero,f0
c.eq.D f22,f0
bc1f 0x00224ee4
_lw gp,0x28(sp)
ldc1 f20,0xc0(sp)
c.eq.D f20,f0
bc1f 0x1,0x00224ee8
_lw v0,0x40(sp)
lw a0,0x40(sp)
li v0,-0x21
li v1,-0x40
and v0,a0,v0
beq v0,v1,0x00224fd4
_lw v0,0x40(sp)
beq v0,zero,0x002249f0
_mov.D f20,f0
lw t9,-0x7e50(gp)
lw a0,0x78(sp)
jalr t9
_lw a1,0x7c(sp)
lw gp,0x28(sp)
mov.D f20,f0
sdc1 f20,0xc0(sp)
sub.D D f0,f20,f22
mfc1 v1,f0
mfhc1 v0,f0
mtc1 v1,f2
mtc1 zero,f0
mthc1 v0,f2
mthc1 zero,f0
c.lt.D f2,f0
bc1t 0x4,0x00224f04
_lw a0,0x64(sp)
sw v1,0x5c(sp)
sw v0,0x58(sp)
ldc1 f20,0x1438(a0)
ldc1 f0,0x58(sp)
c.le.D f28,f0
bc1f 0x5,0x00224efc
_lw a0,0x64(sp)
mtc1 v1,f0
ldc1 f20,0x1438(a0)
mthc1 v0,f0
div.D f20,f20,f0
lw s2,0x1c(s7)
addiu s2,s2,-0x1
bltz s2,0x00224ddc
_mul.D f20,f20,f30
sra v0,s2,0x1f
li s6,0x1
addiu s5,sp,0x90
sw v0,0x38(sp)
or s1,s2,zero
lw v0,0x34(sp)
or a1,zero,zero
lw a3,0x18(s7)
or a2,s2,zero
lw t9,-0x798c(gp)
or a0,s7,zero
sw v0,0x14(sp)
jalr t9
_sw s6,0x10(sp)
lw gp,0x28(sp)
beq v0,zero,0x00224ddc
_or s8,v0,zero
lw v0,0x18(s7)
blez v0,0x00224d90
_ldc1 f26,0xd0(sp)
or s3,zero,zero
lw v0,0x20(s7)
li s0,0x2
ldc1 f24,0xc8(sp)
b 0x00224b4c
_li s4,0x4
beq v0,s4,0x00224d5c
_li v1,0x8
bne v0,v1,0x00224ad8
_lw v0,0x40(sp)
bgtz v0,0x00224e74
_lw t9,-0x7110(gp)
lw t9,-0x7c78(gp)
jalr t9
_or a0,s7,zero
lw gp,0x28(sp)
lw v0,0x20(s7)
li v1,0x10
beq v0,v1,0x00224b8c
_sdc1 f0,0x90(sp)
li v1,0x20
beq v0,v1,0x00224b8c
_li v1,0x40
beq v0,v1,0x00224b8c
_nop
sub.D D f0,f0,f22
lw v1,0x2d0(s7)
addiu s3,s3,0x1
lw a1,0x2c0(s7)
lw a0,0x18(s7)
lw v1,0x8(v1)
sll a1,a1,0x2
slt a0,s3,a0
sll v1,v1,0x2
madd.D f0,f24,f0,f26
addu v1,s8,v1
addu s8,s8,a1
mul.D f0,f0,f20
cvt.s.D f0,f0
beq a0,zero,0x00224d90
_swc1 f0,0x0(v1)
srl v0,v0,0x3
beq v0,s0,0x00224d70
_sltiu v1,v0,0x3
beq v1,zero,0x00224ac0
_nop
bne v0,s6,0x00224ad8
_lw t9,-0x70c0(gp)
jalr t9
_or a0,s7,zero
li v1,0x10
mtc1 v0,f0
lw v0,0x20(s7)
lw gp,0x28(sp)
cvt.d.W f0,f0
bne v0,v1,0x00224af8
_sdc1 f0,0x90(sp)
lw v1,0x25c(s7)
beq v1,s0,0x00224ba4
_or v1,s5,zero
srl v1,v0,0x3
addiu v1,v1,-0x1
addu v1,s5,v1
lbu a0,0x0(v1)
li a1,-0x80
xor a0,a0,a1
sb a0,0x0(v1)
b 0x00224b0c
_ldc1 f0,0x90(sp)
lw t9,-0x77fc(gp)
jalr t9
_or a0,s2,zero
lw gp,0x28(sp)
b 0x002244b4
_sw v0,0x8c(sp)
lw v0,0xa4(sp)
lw v1,0xa8(sp)
lw a2,0x8c(sp)
lw s0,0x9c(sp)
mult v0,v1
sw v0,0x50(sp)
sw v1,0x54(sp)
mflo s3
bne a2,zero,0x002247e4
_mfhi s2
b 0x00224818
_lw t9,-0x7168(gp)
lw v0,0x48(sp)
li a3,0x1a5
lw a2,-0x7f60(gp)
lw a1,-0x7f60(gp)
addiu v0,v0,0x2210
lw t9,-0x7990(gp)
addiu a2,a2,-0xc70
sw v0,0x1c(sp)
addiu a1,a1,-0xe40
lw v0,-0x7fd0(gp)
addiu v0,v0,0x3e28
sw v0,0x18(sp)
lw v0,-0x7f60(gp)
addiu v0,v0,-0x2c10
lw a0,0x34(sp)
sw v0,0x14(sp)
li v0,0x1a9
jalr t9
_sw v0,0x10(sp)
beq s7,zero,0x00224c78
_lw gp,0x28(sp)
lw t9,-0x7228(gp)
jalr t9
_or a0,s7,zero
lw gp,0x28(sp)
lw t9,-0x73a0(gp)
jalr t9
_or a0,s7,zero
lw gp,0x28(sp)
or v0,zero,zero
lw v1,0x68(sp)
lw a0,0x113c(sp)
lw v1,0x0(v1)
bne a0,v1,0x002252ec
_lw ra,0x1164(sp)
lw s8,0x1160(sp)
lw s7,0x115c(sp)
lw s6,0x1158(sp)
lw s5,0x1154(sp)
lw s4,0x1150(sp)
lw s3,0x114c(sp)
lw s2,0x1148(sp)
lw s1,0x1144(sp)
lw s0,0x1140(sp)
ldc1 f30,0x1190(sp)
ldc1 f28,0x1188(sp)
ldc1 f26,0x1180(sp)
ldc1 f24,0x1178(sp)
ldc1 f22,0x1170(sp)
ldc1 f20,0x1168(sp)
jr ra
_addiu sp,sp,0x1198
lw t9,-0x6f00(gp)
jalr t9
_nop
lw gp,0x28(sp)
lw t9,-0x74c4(gp)
jalr t9
_lw a0,0x0(v0)
addiu v1,s7,0x340
lw gp,0x28(sp)
or s1,v0,zero
sw v0,0x20(sp)
li a3,0x1a1
sw v1,0x1c(sp)
lw a0,0x34(sp)
lw v0,-0x7fd0(gp)
lw a2,-0x7f60(gp)
lw a1,-0x7f60(gp)
addiu v0,v0,0xe78
lw t9,-0x7990(gp)
addiu a2,a2,-0xc70
sw v0,0x18(sp)
addiu a1,a1,-0xe40
lw v0,-0x7fc4(gp)
addiu v0,v0,-0x17c
sw v0,0x14(sp)
li v0,0x1a9
jalr t9
_sw v0,0x10(sp)
lw gp,0x28(sp)
lw t9,-0x783c(gp)
jalr t9
_or a0,s1,zero
b 0x00224828
_lw gp,0x28(sp)
lw v0,0x40(sp)
blez v0,0x00224e98
_lw t9,-0x7224(gp)
b 0x00224b68
_nop
lw t9,-0x7b30(gp)
jalr t9
_or a0,s7,zero
seh v0,v0
lw gp,0x28(sp)
mtc1 v0,f0
b 0x00224ae8
_cvt.d.W f0,f0
lw t9,-0x76cc(gp)
or a0,s7,zero
jalr t9
_lw a1,0x34(sp)
beq v0,zero,0x00224ddc
_lw gp,0x28(sp)
lw v0,0x3364(s7)
beq v0,zero,0x00224eb0
_or a3,s1,zero
lw v1,0x38(sp)
addiu v0,s1,-0x1
addiu s2,s2,-0x1
sltu s1,v0,s1
addiu s3,v1,-0x1
li v1,-0x1
addu a0,s1,s3
or s1,v0,zero
bne s2,v1,0x00224a6c
_sw a0,0x38(sp)
lw t9,-0x7168(gp)
jalr t9
_or a0,s7,zero
bne v0,zero,0x00225154
_lw gp,0x28(sp)
lw v1,0x48(sp)
lw v0,0x2c(v1)
beq v0,zero,0x00224e1c
_nop
lw a0,0x28(v1)
lw v1,0x26c(s7)
addu v0,v0,a0
addiu v0,v0,-0x1
sltu v0,v1,v0
beq v0,zero,0x00224e4c
_lw t9,-0x7228(gp)
lw v0,0x60(sp)
lw v1,0x44(sp)
addiu v0,v0,-0x1
slt v0,v1,v0
bne v0,zero,0x00224f1c
_lw t9,-0x7920(gp)
lw v0,0x44(sp)
lw v1,0x60(sp)
addiu v0,v0,0x1
bne v0,v1,0x00224900
_sw v0,0x44(sp)
lw t9,-0x7228(gp)
jalr t9
_or a0,s7,zero
lw v0,0x4c(sp)
beq v0,zero,0x00224fc0
_lw gp,0x28(sp)
lw t9,-0x7464(gp)
jalr t9
_or a0,s7,zero
b 0x00224c7c
_lw gp,0x28(sp)
jalr t9
_or a0,s7,zero
lw gp,0x28(sp)
or a1,v1,zero
lw t9,-0x7e50(gp)
jalr t9
_or a0,v0,zero
b 0x00224ae8
_lw gp,0x28(sp)
lw t9,-0x7a18(gp)
jalr t9
_or a0,s7,zero
lw gp,0x28(sp)
b 0x00224ae8
_cvt.d.S f0,f0
lw v0,0x1c(s7)
lw t9,-0x7bfc(gp)
or a0,s7,zero
lw a2,0x38(sp)
lw a1,0x6c(sp)
sw zero,0x10(sp)
jalr t9
_sw v0,0x14(sp)
lw gp,0x28(sp)
bne v0,zero,0x00224db4
_sw v0,0x4c(sp)
b 0x00224de0
_lw t9,-0x7168(gp)
lw v0,0x40(sp)
bne v0,zero,0x002249dc
_lw t9,-0x7e50(gp)
mtc1 zero,f20
b 0x002249f0
_mthc1 zero,f20
b 0x00224a48
_div.D f20,f20,f28
lui a0,0x8000
ldc1 f20,0x80(sp)
sw v1,0x5c(sp)
xor a0,v0,a0
b 0x00224a28
_sw a0,0x58(sp)
or a1,s7,zero
lw a0,0x48(sp)
jalr t9
_lw a2,0x34(sp)
lw gp,0x28(sp)
lw t9,-0x7440(gp)
jalr t9
_or a0,s7,zero
beq v0,zero,0x00224fb0
_lw gp,0x28(sp)
lw t9,-0x74a8(gp)
jalr t9
_or a0,s7,zero
lw gp,0x28(sp)
or a0,v0,zero
lw t9,-0x7594(gp)
jalr t9
_or s7,v0,zero
or a0,s7,zero
lw gp,0x28(sp)
or s1,v1,zero
lw t9,-0x73f8(gp)
jalr t9
_or s0,v0,zero
or a0,s7,zero
lw gp,0x28(sp)
or a3,s1,zero
or a2,s0,zero
sw v1,0x14(sp)
sw v0,0x10(sp)
lw a1,-0x7fc4(gp)
lw t9,-0x7bfc(gp)
jalr t9
_addiu a1,a1,-0x168
lw gp,0x28(sp)
bne v0,zero,0x00224e34
_sw v0,0x4c(sp)
lw t9,-0x7228(gp)
jalr t9
_or a0,s7,zero
lw gp,0x28(sp)
lw t9,-0x73a0(gp)
jalr t9
_or a0,s7,zero
b 0x00224c7c
_lw gp,0x28(sp)
lw t9,-0x7594(gp)
jalr t9
_or a0,s7,zero
li a0,-0x1
or s1,v0,zero
lw gp,0x28(sp)
beq s1,a0,0x00225314
_or s4,v1,zero
lw a1,0x18(s7)
li v1,0x2
lw a0,0x1c(s7)
lw v0,0x20(s7)
multu a1,a0
srl v0,v0,0x3
mflo a1
mfhi a0
sw a1,0x3c(sp)
beq v0,v1,0x00225210
_sw a0,0x38(sp)
li v1,0x4
beq v0,v1,0x002252d4
_li v1,0x1
beq v0,v1,0x002251f4
_lw t9,-0x7c78(gp)
jalr t9
_or a0,s7,zero
mov.D f22,f0
lw gp,0x28(sp)
lw v1,0x3c(sp)
lw v0,0x38(sp)
sdc1 f22,0xb8(sp)
or s5,v1,zero
or s3,v0,zero
blez v0,0x002252f8
_sdc1 f22,0xc0(sp)
mov.D f20,f22
or s2,zero,zero
li s0,0x1
li s6,0x2
b 0x002250cc
_li s8,0x4
beq v0,s8,0x002251dc
_li v1,0x1
beq v0,v1,0x002250f8
_lw t9,-0x7c78(gp)
jalr t9
_or a0,s7,zero
lw gp,0x28(sp)
c.lt.D f0,f22
bc1f 0x2,0x002250a4
_nop
sdc1 f0,0xb8(sp)
c.lt.D f20,f0
bc1f 0x3,0x002250b8
_addiu v0,s0,0x1
mov.D f20,f0
sdc1 f0,0xc0(sp)
ldc1 f22,0xb8(sp)
sltu s0,v0,s0
addu s2,s0,s2
beq s2,s3,0x00225114
_or s0,v0,zero
lw v0,0x20(s7)
srl v0,v0,0x3
bne v0,s6,0x00225078
_lw t9,-0x7b30(gp)
jalr t9
_or a0,s7,zero
seh v0,v0
lw gp,0x28(sp)
mtc1 v0,f0
b 0x00225094
_cvt.d.W f0,f0
lw t9,-0x70c0(gp)
jalr t9
_or a0,s7,zero
mtc1 v0,f0
lw gp,0x28(sp)
b 0x00225094
_cvt.d.W f0,f0
bne v0,s5,0x002250cc
_nop
lw t9,-0x7588(gp)
or a2,s1,zero
sw zero,0x10(sp)
or a3,s4,zero
jalr t9
_or a0,s7,zero
b 0x002249f4
_lw gp,0x28(sp)
lw t9,-0x73a0(gp)
jalr t9
_or a0,s7,zero
or v0,zero,zero
b 0x00224c7c
_lw gp,0x28(sp)
lw t9,-0x6f00(gp)
jalr t9
_nop
lw gp,0x28(sp)
lw t9,-0x74c4(gp)
jalr t9
_lw a0,0x0(v0)
addiu v1,s7,0x340
lw gp,0x28(sp)
or s0,v0,zero
sw v0,0x20(sp)
li a3,0x1e6
sw v1,0x1c(sp)
lw a0,0x34(sp)
lw v0,-0x7fd0(gp)
lw a2,-0x7f60(gp)
lw a1,-0x7f60(gp)
addiu v0,v0,0xe78
lw t9,-0x7990(gp)
addiu a2,a2,-0xc70
sw v0,0x18(sp)
addiu a1,a1,-0xe40
lw v0,-0x7fc4(gp)
addiu v0,v0,-0x17c
sw v0,0x14(sp)
li v0,0x1a9
jalr t9
_sw v0,0x10(sp)
lw gp,0x28(sp)
lw t9,-0x783c(gp)
jalr t9
_or a0,s0,zero
b 0x00224e48
_lw gp,0x28(sp)
lw t9,-0x7a18(gp)
jalr t9
_or a0,s7,zero
lw gp,0x28(sp)
b 0x00225094
_cvt.d.S f0,f0
lw t9,-0x70c0(gp)
jalr t9
_or a0,s7,zero
mtc1 v0,f0
lw gp,0x28(sp)
b 0x00225044
_cvt.d.W f22,f0
lw t9,-0x7b30(gp)
jalr t9
_or a0,s7,zero
seh v0,v0
lw gp,0x28(sp)
mtc1 v0,f0
b 0x00225044
_cvt.d.W f22,f0
lw t9,-0x7228(gp)
jalr t9
_or a0,s7,zero
b 0x00224e60
_lw gp,0x28(sp)
lw a3,-0x7f60(gp)
li a2,0x126
lw a1,-0x7f60(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,-0xc60
addiu a1,a1,-0xe40
jalr t9
_addiu a0,a0,0x294c
lw a3,-0x7f60(gp)
li a2,0x125
lw a1,-0x7f60(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,-0xc60
addiu a1,a1,-0xe40
jalr t9
_addiu a0,a0,0x1cac
lw a3,-0x7f60(gp)
li a2,0x121
lw a1,-0x7f60(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,-0xc60
addiu a1,a1,-0xe40
jalr t9
_addiu a0,a0,0xda0
lw a3,-0x7f60(gp)
li a2,0x120
lw a1,-0x7f60(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,-0xc60
addiu a1,a1,-0xe40
jalr t9
_addiu a0,a0,0xd78
lw t9,-0x7a18(gp)
jalr t9
_or a0,s7,zero
lw gp,0x28(sp)
b 0x00225044
_cvt.d.S f22,f0
lw t9,-0x784c(gp)
jalr t9
_nop
bne v0,zero,0x0022530c
_lw v0,0x3c(sp)
sltiu v0,v0,0x2
beq v0,zero,0x00225060
_nop
b 0x0022511c
_mov.D f20,f22
bne v1,s1,0x00224ff4
_nop
b 0x002249f8
_sub.D D f0,f20,f22
(translation_unit "undefined4 FUN_0022407c(int param_1,int param_2)\n\n{\n  bool bVar1;\n  ulonglong uVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  double dVar5;\n  int iVar6;\n  int iVar7;\n  undefined1 *puVar8;\n  int *piVar9;\n  byte bVar16;\n  int iVar10;\n  uint uVar11;\n  int iVar12;\n  uint uVar13;\n  short sVar15;\n  undefined4 *puVar14;\n  undefined *puVar17;\n  float *pfVar18;\n  double *pdVar19;\n  undefined4 uVar20;\n  byte *pbVar21;\n  uint uVar22;\n  undefined4 unaff_s3;\n  undefined *puVar23;\n  undefined4 unaff_s5;\n  undefined *puVar24;\n  code *pcVar25;\n  double dVar26;\n  float fVar27;\n  double dVar28;\n  double in_f22_23;\n  double dVar29;\n  double in_f28_29;\n  double in_f30_31;\n  undefined8 uVar30;\n  longlong lVar31;\n  undefined8 uVar32;\n  longlong lVar33;\n  undefined8 local_1160;\n  undefined1 *local_1158;\n  undefined *local_1154;\n  int local_114c;\n  int local_1148;\n  int local_1144;\n  uint local_1140;\n  undefined *local_1138;\n  undefined *local_1134;\n  undefined *local_112c;\n  int local_1128;\n  undefined4 local_1124;\n  int local_1120;\n  uint local_111c;\n  double local_1118;\n  undefined1 local_110c [4];\n  double local_1108;\n  uint local_1100;\n  uint local_10fc;\n  undefined1 *local_10f8;\n  int local_10f4;\n  int local_10f0;\n  int local_10ec;\n  undefined *local_10e8;\n  double local_10e0;\n  double local_10d8;\n  double local_10d0;\n  double local_10c8;\n  undefined4 local_10c0;\n  byte local_10b4 [12];\n  byte local_10a8 [2];\n  byte local_10a6 [70];\n  undefined1 local_1060;\n  undefined1 auStack_105c [4096];\n  int local_5c;\n  \n  puVar4 = PTR___stack_chk_guard_003a9230;\n  lVar31 = CONCAT44(unaff_s3,unaff_s5);\n  local_5c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  if (*(int *)(param_1 + 0x3210) != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);\n  }\n  if (param_2 == 0) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  iVar6 = (*(code *)PTR_AcquireImage_003a960c)(param_1,param_2);\n  local_114c = (*(code *)PTR_OpenBlob_003a924c)(param_1,iVar6,2,param_2);\n  puVar3 = PTR_UINT_003a8950;\n  puVar17 = PTR_LAB_003a88e0;\n  if (local_114c == 0) {\n    (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    uVar20 = 0;\n    dVar26 = in_f22_23;\n  }\n  else {\n    local_1158 = PTR_UINT_003a8950;\n    local_1134 = PTR_LAB_003a88e0;\n    local_1154 = PTR_UINT_003a8950;\n    (*(code *)PTR_memset_003a96d4)(&local_1100,0,0x48);\n    local_10c8 = *(double *)(puVar17 + 0x1438);\n    local_10f8 = &DAT_00000008;\n    local_10f4 = 1;\n    local_10f0 = 1;\n    local_10e8 = (undefined *)0x1;\n    puVar17 = PTR_UINT_003a8950 + -0xe20;\n    puVar23 = PTR_s_t_to_left_003a88e4 + 0x544;\n    local_10c0 = 2;\n    puVar24 = PTR_UINT_003a8950 + -0xe30;\n    local_1160 = CONCAT44(puVar17,local_1160._4_4_);\n    local_110c = (undefined1  [4])0x0;\n    puVar8 = PTR_UINT_003a8950;\n    do {\n      iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      if (iVar7 != 0) {\nLAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;\n        uVar22 = local_10fc;\n        iVar7 = local_10f4;\n        iVar10 = local_10f0;\n        break;\n      }\n      puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      while (puVar8 == (undefined1 *)0x0) {\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);\n        if (iVar7 != 8) break;\n        piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar21 = local_10b4;\n        do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);\n        pbVar21 = local_10a8;\n        local_10b4[(int)puVar8] = 0;\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);\n        local_1060 = 0;\n        if (iVar7 != 0x48) break;\n        if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);\n        if (iVar7 == 0) break;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);\n        if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);\n        if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);\n        if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);\n        if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);\n        if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);\n        if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);\n        if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);\n        if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);\n        if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);\n        puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      }\n      iVar7 = 0;\n      while( true ) {\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);\n        if ((lVar31 == 0) || (iVar7 == -1)) break;\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      }\n      if (local_1100 == 0) goto LAB_00224bd4;\n      if (local_10f8 + -8 < &DAT_00000019) {\n        if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;\n      }\n      else if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }\n    } while (((local_10fc == 0) || (3 < local_10ec - 1U)) ||\n            (lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0));\n    local_1144 = iVar10;\n    local_1148 = iVar7;\n    local_10fc = uVar22;\n    local_10f4 = local_1148;\n    local_10f0 = local_1144;\n    if (local_110c != (undefined1  [4])0x0) {\n      (*(code *)PTR_SetImageProperty_003a9534)\n                (iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)\n      ;\n      local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c);\n    }\n    iVar7 = (int)lVar33;\n    lVar31 = CONCAT44(iVar7,puVar8);\n    iVar10 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n    if (iVar10 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\n    }\n    if (((uVar22 != 0) && (local_10ec - 1U < 4)) && (lVar33 != 0)) {\n      local_1138 = local_10e8;\n      if (0 < (int)local_10e8) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = local_10f8;\n        local_1124 = local_10c0;\n        puVar8 = local_10f8;\n        if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }\n        iVar7 = -1;\n        if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }\n        puVar8 = puVar8 + -1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar11 = 2 << ((uint)puVar8 & 0x1f);\n        local_1128 = iVar7 * (int)local_10f8;\n        uVar13 = uVar11;\n        uVar22 = 1 >> (~(uint)puVar8 & 0x1f);\n        if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar13 - 1;\n        local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);\n        goto LAB_00224900;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224e60;\n    }\n    uVar20 = 0x1a5;\n    puVar17 = PTR_UINT_003a8950 + -0x2c10;\nLAB_00224c3c:\n    lVar31 = CONCAT44(iVar7,puVar8);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar20,0x1a9,puVar17,\n               PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x2210);\n    if (iVar6 != 0) {\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    }\n    uVar20 = 0;\n    dVar26 = in_f22_23;\n  }\nLAB_00224c7c:\n  uVar2 = (ulonglong)lVar31 >> 0x20;\n  if (local_5c == *(int *)puVar4) {\n    return uVar20;\n  }\n  uVar20 = (*(code *)PTR___stack_chk_fail_003a9064)();\n  lVar31 = CONCAT44(uVar20,(int)lVar31);\n  uVar20 = (int)uVar2;\nLAB_002252f8:\n  uVar2 = (ulonglong)lVar31 >> 0x20;\n  lVar31 = CONCAT44(uVar20,(int)lVar31);\n  in_f22_23 = dVar26;\n  if (((int)uVar2 == 0) && (bVar1 = 1 < local_1160._4_4_, bVar1)) goto LAB_00225060;\nLAB_0022511c:\n  (*(code *)PTR_SeekBlob_003a9328)(iVar6);\n  dVar28 = local_10d8;\nLAB_002249f4:\n  local_10d8 = dVar28;\n  dVar26 = dVar26 - in_f22_23;\n  do {\n    iVar7 = (int)((ulonglong)lVar31 >> 0x20);\n    local_1140 = (uint)((ulonglong)dVar26 >> 0x20);\n    if (0.0 <= dVar26) {\n      dVar28 = *(double *)(local_1134 + 0x1438);\n    }\n    else {\n      local_1140 = local_1140 ^ 0x80000000;\n      dVar28 = local_1118;\n    }\n    if (in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar26,0))) {\n      dVar28 = *(double *)(local_1134 + 0x1438) / dVar26;\n    }\n    else {\n      dVar28 = dVar28 / in_f28_29;\n    }\n    uVar22 = *(int *)(iVar6 + 0x1c) - 1;\n    dVar28 = dVar28 * in_f30_31;\n    if (-1 < (int)uVar22) {\n      local_1160 = CONCAT44((int)uVar22 >> 0x1f,local_1160._4_4_);\n      uVar13 = uVar22;\n      while( true ) {\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2);\n        if (iVar10 == 0) break;\n        if (0 < *(int *)(iVar6 + 0x18)) {\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2);\n        if ((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))) break;\n        uVar22 = uVar22 - 1;\n        iVar7 = local_1160._0_4_ + -1;\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_);\n        uVar13 = uVar13 - 1;\n        if (uVar22 == 0xffffffff) break;\n      }\n    }\n    iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n    if (iVar7 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\nLAB_00224e4c:\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      if (local_114c == 0) {\nLAB_00224fc0:\n        uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      else {\nLAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      goto LAB_00224c7c;\n    }\n    if ((*(int *)(param_1 + 0x2c) != 0) &&\n       ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= *(uint *)(iVar6 + 0x26c)))\n    goto LAB_00224e4c;\n    if ((int)local_1154 < (int)(local_1138 + -1)) {\n      (*(code *)PTR_AcquireNextImage_003a8f90)(param_1,iVar6,param_2);\n      iVar7 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar6);\n      if (iVar7 != 0) {\n        iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6);\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32);\n        if (local_114c != 0) goto LAB_00224e34;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224fc0;\n    }\nLAB_00224e34:\n    local_1154 = local_1154 + 1;\n    if (local_1154 == local_1138) goto LAB_00224e4c;\nLAB_00224900:\n    iVar7 = *(int *)(param_1 + 0x1dc);\n    *(int *)(iVar6 + 0x18) = local_1148;\n    *(int *)(iVar6 + 0x1c) = local_1144;\n    *(int *)(iVar6 + 0x20) = local_1128;\n    *(undefined4 *)(iVar6 + 0x25c) = local_1124;\n    *(undefined **)(iVar6 + 0x26c) = local_1154;\n    if (((iVar7 != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n       ((undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1) <= local_1154))\n    goto LAB_00224e4c;\n    local_114c = (*(code *)PTR_SetImageExtent_003a94ac)(iVar6,local_1148,local_1144,param_2);\n    if (local_114c == 0) goto LAB_00224fc0;\n    (*(code *)PTR_SetImageColorspace_003a8d40)(iVar6,3,param_2);\n    in_f22_23 = local_10e0;\n    if ((local_10e0 != 0.0) || (local_10d8 != 0.0)) {\n      if (local_1158 != (undefined1 *)0x0) goto LAB_002249dc;\n      dVar26 = 0.0;\n      dVar28 = dVar26;\n      goto LAB_002249f4;\n    }\n    if (((uint)local_1158 & 0xffffffdf) != 0xffffffc0) break;\n    dVar26 = local_10d8;\n    lVar33 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n    if (lVar33 != -1) {\n      lVar31 = (ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)*(uint *)(iVar6 + 0x1c);\n      uVar22 = *(uint *)(iVar6 + 0x20) >> 3;\n      if (uVar22 == 2) {\n        sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n        dVar26 = (double)(int)sVar15;\n      }\n      else if (uVar22 == 4) {\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }\n      else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }\n      local_1160._0_4_ = (int)((ulonglong)lVar31 >> 0x20);\n      uVar20 = local_1160._0_4_;\n      local_1160 = lVar31;\n      local_10e0 = dVar26;\n      local_10d8 = dVar26;\n      if (0xffffffff < lVar31) goto LAB_00225060;\n      goto LAB_002252f8;\n    }\n    dVar26 = dVar26 - in_f22_23;\n  } while( true );\n  dVar26 = 0.0;\n  dVar28 = dVar26;\n  if (local_1158 != (undefined1 *)0x0) {\nLAB_002249dc:\n    dVar26 = (double)(*(code *)PTR_FUN_003a8a60)(local_1120,local_111c);\n    dVar28 = dVar26;\n  }\n  goto LAB_002249f4;\nLAB_00225060:\n  iVar7 = 0;\n  uVar22 = 1;\n  dVar28 = dVar26;\n  dVar29 = dVar26;\n  do {\n    uVar13 = *(uint *)(iVar6 + 0x20) >> 3;\n    if (uVar13 == 2) {\n      sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n      dVar26 = (double)(int)sVar15;\n    }\n    else if (uVar13 == 4) {\n      fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n      dVar26 = (double)fVar27;\n    }\n    else if (uVar13 == 1) {\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }\n    else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }\n    dVar5 = dVar26;\n    if (dVar29 <= dVar26) {\n      dVar5 = local_10e0;\n    }\n    local_10e0 = dVar5;\n    uVar13 = uVar22 + 1;\n    dVar29 = dVar26;\n    if (dVar26 <= dVar28) {\n      dVar26 = dVar28;\n      dVar29 = local_10d8;\n    }\n    local_10d8 = dVar29;\n    iVar7 = (uint)(uVar13 < uVar22) + iVar7;\n    uVar22 = uVar13;\n    dVar28 = dVar26;\n    dVar29 = local_10e0;\n    in_f22_23 = local_10e0;\n  } while (lVar31 != CONCAT44(iVar7,uVar13));\n  goto LAB_0022511c;\n}\n\n" (function_definition "undefined4 FUN_0022407c(int param_1,int param_2)\n\n{\n  bool bVar1;\n  ulonglong uVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  double dVar5;\n  int iVar6;\n  int iVar7;\n  undefined1 *puVar8;\n  int *piVar9;\n  byte bVar16;\n  int iVar10;\n  uint uVar11;\n  int iVar12;\n  uint uVar13;\n  short sVar15;\n  undefined4 *puVar14;\n  undefined *puVar17;\n  float *pfVar18;\n  double *pdVar19;\n  undefined4 uVar20;\n  byte *pbVar21;\n  uint uVar22;\n  undefined4 unaff_s3;\n  undefined *puVar23;\n  undefined4 unaff_s5;\n  undefined *puVar24;\n  code *pcVar25;\n  double dVar26;\n  float fVar27;\n  double dVar28;\n  double in_f22_23;\n  double dVar29;\n  double in_f28_29;\n  double in_f30_31;\n  undefined8 uVar30;\n  longlong lVar31;\n  undefined8 uVar32;\n  longlong lVar33;\n  undefined8 local_1160;\n  undefined1 *local_1158;\n  undefined *local_1154;\n  int local_114c;\n  int local_1148;\n  int local_1144;\n  uint local_1140;\n  undefined *local_1138;\n  undefined *local_1134;\n  undefined *local_112c;\n  int local_1128;\n  undefined4 local_1124;\n  int local_1120;\n  uint local_111c;\n  double local_1118;\n  undefined1 local_110c [4];\n  double local_1108;\n  uint local_1100;\n  uint local_10fc;\n  undefined1 *local_10f8;\n  int local_10f4;\n  int local_10f0;\n  int local_10ec;\n  undefined *local_10e8;\n  double local_10e0;\n  double local_10d8;\n  double local_10d0;\n  double local_10c8;\n  undefined4 local_10c0;\n  byte local_10b4 [12];\n  byte local_10a8 [2];\n  byte local_10a6 [70];\n  undefined1 local_1060;\n  undefined1 auStack_105c [4096];\n  int local_5c;\n  \n  puVar4 = PTR___stack_chk_guard_003a9230;\n  lVar31 = CONCAT44(unaff_s3,unaff_s5);\n  local_5c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  if (*(int *)(param_1 + 0x3210) != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);\n  }\n  if (param_2 == 0) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  iVar6 = (*(code *)PTR_AcquireImage_003a960c)(param_1,param_2);\n  local_114c = (*(code *)PTR_OpenBlob_003a924c)(param_1,iVar6,2,param_2);\n  puVar3 = PTR_UINT_003a8950;\n  puVar17 = PTR_LAB_003a88e0;\n  if (local_114c == 0) {\n    (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    uVar20 = 0;\n    dVar26 = in_f22_23;\n  }\n  else {\n    local_1158 = PTR_UINT_003a8950;\n    local_1134 = PTR_LAB_003a88e0;\n    local_1154 = PTR_UINT_003a8950;\n    (*(code *)PTR_memset_003a96d4)(&local_1100,0,0x48);\n    local_10c8 = *(double *)(puVar17 + 0x1438);\n    local_10f8 = &DAT_00000008;\n    local_10f4 = 1;\n    local_10f0 = 1;\n    local_10e8 = (undefined *)0x1;\n    puVar17 = PTR_UINT_003a8950 + -0xe20;\n    puVar23 = PTR_s_t_to_left_003a88e4 + 0x544;\n    local_10c0 = 2;\n    puVar24 = PTR_UINT_003a8950 + -0xe30;\n    local_1160 = CONCAT44(puVar17,local_1160._4_4_);\n    local_110c = (undefined1  [4])0x0;\n    puVar8 = PTR_UINT_003a8950;\n    do {\n      iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      if (iVar7 != 0) {\nLAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;\n        uVar22 = local_10fc;\n        iVar7 = local_10f4;\n        iVar10 = local_10f0;\n        break;\n      }\n      puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      while (puVar8 == (undefined1 *)0x0) {\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);\n        if (iVar7 != 8) break;\n        piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar21 = local_10b4;\n        do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);\n        pbVar21 = local_10a8;\n        local_10b4[(int)puVar8] = 0;\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);\n        local_1060 = 0;\n        if (iVar7 != 0x48) break;\n        if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);\n        if (iVar7 == 0) break;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);\n        if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);\n        if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);\n        if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);\n        if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);\n        if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);\n        if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);\n        if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);\n        if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);\n        if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);\n        puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      }\n      iVar7 = 0;\n      while( true ) {\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);\n        if ((lVar31 == 0) || (iVar7 == -1)) break;\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      }\n      if (local_1100 == 0) goto LAB_00224bd4;\n      if (local_10f8 + -8 < &DAT_00000019) {\n        if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;\n      }\n      else if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }\n    } while (((local_10fc == 0) || (3 < local_10ec - 1U)) ||\n            (lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0));\n    local_1144 = iVar10;\n    local_1148 = iVar7;\n    local_10fc = uVar22;\n    local_10f4 = local_1148;\n    local_10f0 = local_1144;\n    if (local_110c != (undefined1  [4])0x0) {\n      (*(code *)PTR_SetImageProperty_003a9534)\n                (iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)\n      ;\n      local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c);\n    }\n    iVar7 = (int)lVar33;\n    lVar31 = CONCAT44(iVar7,puVar8);\n    iVar10 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n    if (iVar10 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\n    }\n    if (((uVar22 != 0) && (local_10ec - 1U < 4)) && (lVar33 != 0)) {\n      local_1138 = local_10e8;\n      if (0 < (int)local_10e8) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = local_10f8;\n        local_1124 = local_10c0;\n        puVar8 = local_10f8;\n        if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }\n        iVar7 = -1;\n        if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }\n        puVar8 = puVar8 + -1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar11 = 2 << ((uint)puVar8 & 0x1f);\n        local_1128 = iVar7 * (int)local_10f8;\n        uVar13 = uVar11;\n        uVar22 = 1 >> (~(uint)puVar8 & 0x1f);\n        if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar13 - 1;\n        local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);\n        goto LAB_00224900;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224e60;\n    }\n    uVar20 = 0x1a5;\n    puVar17 = PTR_UINT_003a8950 + -0x2c10;\nLAB_00224c3c:\n    lVar31 = CONCAT44(iVar7,puVar8);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar20,0x1a9,puVar17,\n               PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x2210);\n    if (iVar6 != 0) {\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    }\n    uVar20 = 0;\n    dVar26 = in_f22_23;\n  }\nLAB_00224c7c:\n  uVar2 = (ulonglong)lVar31 >> 0x20;\n  if (local_5c == *(int *)puVar4) {\n    return uVar20;\n  }\n  uVar20 = (*(code *)PTR___stack_chk_fail_003a9064)();\n  lVar31 = CONCAT44(uVar20,(int)lVar31);\n  uVar20 = (int)uVar2;\nLAB_002252f8:\n  uVar2 = (ulonglong)lVar31 >> 0x20;\n  lVar31 = CONCAT44(uVar20,(int)lVar31);\n  in_f22_23 = dVar26;\n  if (((int)uVar2 == 0) && (bVar1 = 1 < local_1160._4_4_, bVar1)) goto LAB_00225060;\nLAB_0022511c:\n  (*(code *)PTR_SeekBlob_003a9328)(iVar6);\n  dVar28 = local_10d8;\nLAB_002249f4:\n  local_10d8 = dVar28;\n  dVar26 = dVar26 - in_f22_23;\n  do {\n    iVar7 = (int)((ulonglong)lVar31 >> 0x20);\n    local_1140 = (uint)((ulonglong)dVar26 >> 0x20);\n    if (0.0 <= dVar26) {\n      dVar28 = *(double *)(local_1134 + 0x1438);\n    }\n    else {\n      local_1140 = local_1140 ^ 0x80000000;\n      dVar28 = local_1118;\n    }\n    if (in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar26,0))) {\n      dVar28 = *(double *)(local_1134 + 0x1438) / dVar26;\n    }\n    else {\n      dVar28 = dVar28 / in_f28_29;\n    }\n    uVar22 = *(int *)(iVar6 + 0x1c) - 1;\n    dVar28 = dVar28 * in_f30_31;\n    if (-1 < (int)uVar22) {\n      local_1160 = CONCAT44((int)uVar22 >> 0x1f,local_1160._4_4_);\n      uVar13 = uVar22;\n      while( true ) {\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2);\n        if (iVar10 == 0) break;\n        if (0 < *(int *)(iVar6 + 0x18)) {\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2);\n        if ((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))) break;\n        uVar22 = uVar22 - 1;\n        iVar7 = local_1160._0_4_ + -1;\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_);\n        uVar13 = uVar13 - 1;\n        if (uVar22 == 0xffffffff) break;\n      }\n    }\n    iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n    if (iVar7 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\nLAB_00224e4c:\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      if (local_114c == 0) {\nLAB_00224fc0:\n        uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      else {\nLAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      goto LAB_00224c7c;\n    }\n    if ((*(int *)(param_1 + 0x2c) != 0) &&\n       ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= *(uint *)(iVar6 + 0x26c)))\n    goto LAB_00224e4c;\n    if ((int)local_1154 < (int)(local_1138 + -1)) {\n      (*(code *)PTR_AcquireNextImage_003a8f90)(param_1,iVar6,param_2);\n      iVar7 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar6);\n      if (iVar7 != 0) {\n        iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6);\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32);\n        if (local_114c != 0) goto LAB_00224e34;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224fc0;\n    }\nLAB_00224e34:\n    local_1154 = local_1154 + 1;\n    if (local_1154 == local_1138) goto LAB_00224e4c;\nLAB_00224900:\n    iVar7 = *(int *)(param_1 + 0x1dc);\n    *(int *)(iVar6 + 0x18) = local_1148;\n    *(int *)(iVar6 + 0x1c) = local_1144;\n    *(int *)(iVar6 + 0x20) = local_1128;\n    *(undefined4 *)(iVar6 + 0x25c) = local_1124;\n    *(undefined **)(iVar6 + 0x26c) = local_1154;\n    if (((iVar7 != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n       ((undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1) <= local_1154))\n    goto LAB_00224e4c;\n    local_114c = (*(code *)PTR_SetImageExtent_003a94ac)(iVar6,local_1148,local_1144,param_2);\n    if (local_114c == 0) goto LAB_00224fc0;\n    (*(code *)PTR_SetImageColorspace_003a8d40)(iVar6,3,param_2);\n    in_f22_23 = local_10e0;\n    if ((local_10e0 != 0.0) || (local_10d8 != 0.0)) {\n      if (local_1158 != (undefined1 *)0x0) goto LAB_002249dc;\n      dVar26 = 0.0;\n      dVar28 = dVar26;\n      goto LAB_002249f4;\n    }\n    if (((uint)local_1158 & 0xffffffdf) != 0xffffffc0) break;\n    dVar26 = local_10d8;\n    lVar33 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n    if (lVar33 != -1) {\n      lVar31 = (ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)*(uint *)(iVar6 + 0x1c);\n      uVar22 = *(uint *)(iVar6 + 0x20) >> 3;\n      if (uVar22 == 2) {\n        sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n        dVar26 = (double)(int)sVar15;\n      }\n      else if (uVar22 == 4) {\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }\n      else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }\n      local_1160._0_4_ = (int)((ulonglong)lVar31 >> 0x20);\n      uVar20 = local_1160._0_4_;\n      local_1160 = lVar31;\n      local_10e0 = dVar26;\n      local_10d8 = dVar26;\n      if (0xffffffff < lVar31) goto LAB_00225060;\n      goto LAB_002252f8;\n    }\n    dVar26 = dVar26 - in_f22_23;\n  } while( true );\n  dVar26 = 0.0;\n  dVar28 = dVar26;\n  if (local_1158 != (undefined1 *)0x0) {\nLAB_002249dc:\n    dVar26 = (double)(*(code *)PTR_FUN_003a8a60)(local_1120,local_111c);\n    dVar28 = dVar26;\n  }\n  goto LAB_002249f4;\nLAB_00225060:\n  iVar7 = 0;\n  uVar22 = 1;\n  dVar28 = dVar26;\n  dVar29 = dVar26;\n  do {\n    uVar13 = *(uint *)(iVar6 + 0x20) >> 3;\n    if (uVar13 == 2) {\n      sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n      dVar26 = (double)(int)sVar15;\n    }\n    else if (uVar13 == 4) {\n      fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n      dVar26 = (double)fVar27;\n    }\n    else if (uVar13 == 1) {\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }\n    else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }\n    dVar5 = dVar26;\n    if (dVar29 <= dVar26) {\n      dVar5 = local_10e0;\n    }\n    local_10e0 = dVar5;\n    uVar13 = uVar22 + 1;\n    dVar29 = dVar26;\n    if (dVar26 <= dVar28) {\n      dVar26 = dVar28;\n      dVar29 = local_10d8;\n    }\n    local_10d8 = dVar29;\n    iVar7 = (uint)(uVar13 < uVar22) + iVar7;\n    uVar22 = uVar13;\n    dVar28 = dVar26;\n    dVar29 = local_10e0;\n    in_f22_23 = local_10e0;\n  } while (lVar31 != CONCAT44(iVar7,uVar13));\n  goto LAB_0022511c;\n}" type_identifier (function_declarator "FUN_0022407c(int param_1,int param_2)" identifier (parameter_list "(int param_1,int param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  bool bVar1;\n  ulonglong uVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  double dVar5;\n  int iVar6;\n  int iVar7;\n  undefined1 *puVar8;\n  int *piVar9;\n  byte bVar16;\n  int iVar10;\n  uint uVar11;\n  int iVar12;\n  uint uVar13;\n  short sVar15;\n  undefined4 *puVar14;\n  undefined *puVar17;\n  float *pfVar18;\n  double *pdVar19;\n  undefined4 uVar20;\n  byte *pbVar21;\n  uint uVar22;\n  undefined4 unaff_s3;\n  undefined *puVar23;\n  undefined4 unaff_s5;\n  undefined *puVar24;\n  code *pcVar25;\n  double dVar26;\n  float fVar27;\n  double dVar28;\n  double in_f22_23;\n  double dVar29;\n  double in_f28_29;\n  double in_f30_31;\n  undefined8 uVar30;\n  longlong lVar31;\n  undefined8 uVar32;\n  longlong lVar33;\n  undefined8 local_1160;\n  undefined1 *local_1158;\n  undefined *local_1154;\n  int local_114c;\n  int local_1148;\n  int local_1144;\n  uint local_1140;\n  undefined *local_1138;\n  undefined *local_1134;\n  undefined *local_112c;\n  int local_1128;\n  undefined4 local_1124;\n  int local_1120;\n  uint local_111c;\n  double local_1118;\n  undefined1 local_110c [4];\n  double local_1108;\n  uint local_1100;\n  uint local_10fc;\n  undefined1 *local_10f8;\n  int local_10f4;\n  int local_10f0;\n  int local_10ec;\n  undefined *local_10e8;\n  double local_10e0;\n  double local_10d8;\n  double local_10d0;\n  double local_10c8;\n  undefined4 local_10c0;\n  byte local_10b4 [12];\n  byte local_10a8 [2];\n  byte local_10a6 [70];\n  undefined1 local_1060;\n  undefined1 auStack_105c [4096];\n  int local_5c;\n  \n  puVar4 = PTR___stack_chk_guard_003a9230;\n  lVar31 = CONCAT44(unaff_s3,unaff_s5);\n  local_5c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  if (*(int *)(param_1 + 0x3210) != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);\n  }\n  if (param_2 == 0) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  iVar6 = (*(code *)PTR_AcquireImage_003a960c)(param_1,param_2);\n  local_114c = (*(code *)PTR_OpenBlob_003a924c)(param_1,iVar6,2,param_2);\n  puVar3 = PTR_UINT_003a8950;\n  puVar17 = PTR_LAB_003a88e0;\n  if (local_114c == 0) {\n    (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    uVar20 = 0;\n    dVar26 = in_f22_23;\n  }\n  else {\n    local_1158 = PTR_UINT_003a8950;\n    local_1134 = PTR_LAB_003a88e0;\n    local_1154 = PTR_UINT_003a8950;\n    (*(code *)PTR_memset_003a96d4)(&local_1100,0,0x48);\n    local_10c8 = *(double *)(puVar17 + 0x1438);\n    local_10f8 = &DAT_00000008;\n    local_10f4 = 1;\n    local_10f0 = 1;\n    local_10e8 = (undefined *)0x1;\n    puVar17 = PTR_UINT_003a8950 + -0xe20;\n    puVar23 = PTR_s_t_to_left_003a88e4 + 0x544;\n    local_10c0 = 2;\n    puVar24 = PTR_UINT_003a8950 + -0xe30;\n    local_1160 = CONCAT44(puVar17,local_1160._4_4_);\n    local_110c = (undefined1  [4])0x0;\n    puVar8 = PTR_UINT_003a8950;\n    do {\n      iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      if (iVar7 != 0) {\nLAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;\n        uVar22 = local_10fc;\n        iVar7 = local_10f4;\n        iVar10 = local_10f0;\n        break;\n      }\n      puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      while (puVar8 == (undefined1 *)0x0) {\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);\n        if (iVar7 != 8) break;\n        piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar21 = local_10b4;\n        do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);\n        pbVar21 = local_10a8;\n        local_10b4[(int)puVar8] = 0;\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);\n        local_1060 = 0;\n        if (iVar7 != 0x48) break;\n        if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);\n        if (iVar7 == 0) break;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);\n        if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);\n        if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);\n        if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);\n        if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);\n        if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);\n        if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);\n        if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);\n        if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);\n        if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);\n        puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      }\n      iVar7 = 0;\n      while( true ) {\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);\n        if ((lVar31 == 0) || (iVar7 == -1)) break;\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      }\n      if (local_1100 == 0) goto LAB_00224bd4;\n      if (local_10f8 + -8 < &DAT_00000019) {\n        if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;\n      }\n      else if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }\n    } while (((local_10fc == 0) || (3 < local_10ec - 1U)) ||\n            (lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0));\n    local_1144 = iVar10;\n    local_1148 = iVar7;\n    local_10fc = uVar22;\n    local_10f4 = local_1148;\n    local_10f0 = local_1144;\n    if (local_110c != (undefined1  [4])0x0) {\n      (*(code *)PTR_SetImageProperty_003a9534)\n                (iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)\n      ;\n      local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c);\n    }\n    iVar7 = (int)lVar33;\n    lVar31 = CONCAT44(iVar7,puVar8);\n    iVar10 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n    if (iVar10 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\n    }\n    if (((uVar22 != 0) && (local_10ec - 1U < 4)) && (lVar33 != 0)) {\n      local_1138 = local_10e8;\n      if (0 < (int)local_10e8) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = local_10f8;\n        local_1124 = local_10c0;\n        puVar8 = local_10f8;\n        if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }\n        iVar7 = -1;\n        if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }\n        puVar8 = puVar8 + -1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar11 = 2 << ((uint)puVar8 & 0x1f);\n        local_1128 = iVar7 * (int)local_10f8;\n        uVar13 = uVar11;\n        uVar22 = 1 >> (~(uint)puVar8 & 0x1f);\n        if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar13 - 1;\n        local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);\n        goto LAB_00224900;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224e60;\n    }\n    uVar20 = 0x1a5;\n    puVar17 = PTR_UINT_003a8950 + -0x2c10;\nLAB_00224c3c:\n    lVar31 = CONCAT44(iVar7,puVar8);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar20,0x1a9,puVar17,\n               PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x2210);\n    if (iVar6 != 0) {\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    }\n    uVar20 = 0;\n    dVar26 = in_f22_23;\n  }\nLAB_00224c7c:\n  uVar2 = (ulonglong)lVar31 >> 0x20;\n  if (local_5c == *(int *)puVar4) {\n    return uVar20;\n  }\n  uVar20 = (*(code *)PTR___stack_chk_fail_003a9064)();\n  lVar31 = CONCAT44(uVar20,(int)lVar31);\n  uVar20 = (int)uVar2;\nLAB_002252f8:\n  uVar2 = (ulonglong)lVar31 >> 0x20;\n  lVar31 = CONCAT44(uVar20,(int)lVar31);\n  in_f22_23 = dVar26;\n  if (((int)uVar2 == 0) && (bVar1 = 1 < local_1160._4_4_, bVar1)) goto LAB_00225060;\nLAB_0022511c:\n  (*(code *)PTR_SeekBlob_003a9328)(iVar6);\n  dVar28 = local_10d8;\nLAB_002249f4:\n  local_10d8 = dVar28;\n  dVar26 = dVar26 - in_f22_23;\n  do {\n    iVar7 = (int)((ulonglong)lVar31 >> 0x20);\n    local_1140 = (uint)((ulonglong)dVar26 >> 0x20);\n    if (0.0 <= dVar26) {\n      dVar28 = *(double *)(local_1134 + 0x1438);\n    }\n    else {\n      local_1140 = local_1140 ^ 0x80000000;\n      dVar28 = local_1118;\n    }\n    if (in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar26,0))) {\n      dVar28 = *(double *)(local_1134 + 0x1438) / dVar26;\n    }\n    else {\n      dVar28 = dVar28 / in_f28_29;\n    }\n    uVar22 = *(int *)(iVar6 + 0x1c) - 1;\n    dVar28 = dVar28 * in_f30_31;\n    if (-1 < (int)uVar22) {\n      local_1160 = CONCAT44((int)uVar22 >> 0x1f,local_1160._4_4_);\n      uVar13 = uVar22;\n      while( true ) {\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2);\n        if (iVar10 == 0) break;\n        if (0 < *(int *)(iVar6 + 0x18)) {\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2);\n        if ((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))) break;\n        uVar22 = uVar22 - 1;\n        iVar7 = local_1160._0_4_ + -1;\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_);\n        uVar13 = uVar13 - 1;\n        if (uVar22 == 0xffffffff) break;\n      }\n    }\n    iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n    if (iVar7 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\nLAB_00224e4c:\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      if (local_114c == 0) {\nLAB_00224fc0:\n        uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      else {\nLAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      goto LAB_00224c7c;\n    }\n    if ((*(int *)(param_1 + 0x2c) != 0) &&\n       ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= *(uint *)(iVar6 + 0x26c)))\n    goto LAB_00224e4c;\n    if ((int)local_1154 < (int)(local_1138 + -1)) {\n      (*(code *)PTR_AcquireNextImage_003a8f90)(param_1,iVar6,param_2);\n      iVar7 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar6);\n      if (iVar7 != 0) {\n        iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6);\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32);\n        if (local_114c != 0) goto LAB_00224e34;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224fc0;\n    }\nLAB_00224e34:\n    local_1154 = local_1154 + 1;\n    if (local_1154 == local_1138) goto LAB_00224e4c;\nLAB_00224900:\n    iVar7 = *(int *)(param_1 + 0x1dc);\n    *(int *)(iVar6 + 0x18) = local_1148;\n    *(int *)(iVar6 + 0x1c) = local_1144;\n    *(int *)(iVar6 + 0x20) = local_1128;\n    *(undefined4 *)(iVar6 + 0x25c) = local_1124;\n    *(undefined **)(iVar6 + 0x26c) = local_1154;\n    if (((iVar7 != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n       ((undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1) <= local_1154))\n    goto LAB_00224e4c;\n    local_114c = (*(code *)PTR_SetImageExtent_003a94ac)(iVar6,local_1148,local_1144,param_2);\n    if (local_114c == 0) goto LAB_00224fc0;\n    (*(code *)PTR_SetImageColorspace_003a8d40)(iVar6,3,param_2);\n    in_f22_23 = local_10e0;\n    if ((local_10e0 != 0.0) || (local_10d8 != 0.0)) {\n      if (local_1158 != (undefined1 *)0x0) goto LAB_002249dc;\n      dVar26 = 0.0;\n      dVar28 = dVar26;\n      goto LAB_002249f4;\n    }\n    if (((uint)local_1158 & 0xffffffdf) != 0xffffffc0) break;\n    dVar26 = local_10d8;\n    lVar33 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n    if (lVar33 != -1) {\n      lVar31 = (ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)*(uint *)(iVar6 + 0x1c);\n      uVar22 = *(uint *)(iVar6 + 0x20) >> 3;\n      if (uVar22 == 2) {\n        sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n        dVar26 = (double)(int)sVar15;\n      }\n      else if (uVar22 == 4) {\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }\n      else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }\n      local_1160._0_4_ = (int)((ulonglong)lVar31 >> 0x20);\n      uVar20 = local_1160._0_4_;\n      local_1160 = lVar31;\n      local_10e0 = dVar26;\n      local_10d8 = dVar26;\n      if (0xffffffff < lVar31) goto LAB_00225060;\n      goto LAB_002252f8;\n    }\n    dVar26 = dVar26 - in_f22_23;\n  } while( true );\n  dVar26 = 0.0;\n  dVar28 = dVar26;\n  if (local_1158 != (undefined1 *)0x0) {\nLAB_002249dc:\n    dVar26 = (double)(*(code *)PTR_FUN_003a8a60)(local_1120,local_111c);\n    dVar28 = dVar26;\n  }\n  goto LAB_002249f4;\nLAB_00225060:\n  iVar7 = 0;\n  uVar22 = 1;\n  dVar28 = dVar26;\n  dVar29 = dVar26;\n  do {\n    uVar13 = *(uint *)(iVar6 + 0x20) >> 3;\n    if (uVar13 == 2) {\n      sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n      dVar26 = (double)(int)sVar15;\n    }\n    else if (uVar13 == 4) {\n      fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n      dVar26 = (double)fVar27;\n    }\n    else if (uVar13 == 1) {\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }\n    else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }\n    dVar5 = dVar26;\n    if (dVar29 <= dVar26) {\n      dVar5 = local_10e0;\n    }\n    local_10e0 = dVar5;\n    uVar13 = uVar22 + 1;\n    dVar29 = dVar26;\n    if (dVar26 <= dVar28) {\n      dVar26 = dVar28;\n      dVar29 = local_10d8;\n    }\n    local_10d8 = dVar29;\n    iVar7 = (uint)(uVar13 < uVar22) + iVar7;\n    uVar22 = uVar13;\n    dVar28 = dVar26;\n    dVar29 = local_10e0;\n    in_f22_23 = local_10e0;\n  } while (lVar31 != CONCAT44(iVar7,uVar13));\n  goto LAB_0022511c;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "ulonglong uVar2;" type_identifier identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "double dVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined1 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "byte bVar16;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "short sVar15;" (sized_type_specifier "short" short) identifier ;) (declaration "undefined4 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "float *pfVar18;" primitive_type (pointer_declarator "*pfVar18" * identifier) ;) (declaration "double *pdVar19;" primitive_type (pointer_declarator "*pdVar19" * identifier) ;) (declaration "undefined4 uVar20;" type_identifier identifier ;) (declaration "byte *pbVar21;" type_identifier (pointer_declarator "*pbVar21" * identifier) ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "undefined4 unaff_s3;" type_identifier identifier ;) (declaration "undefined *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "undefined4 unaff_s5;" type_identifier identifier ;) (declaration "undefined *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "code *pcVar25;" type_identifier (pointer_declarator "*pcVar25" * identifier) ;) (declaration "double dVar26;" primitive_type identifier ;) (declaration "float fVar27;" primitive_type identifier ;) (declaration "double dVar28;" primitive_type identifier ;) (declaration "double in_f22_23;" primitive_type identifier ;) (declaration "double dVar29;" primitive_type identifier ;) (declaration "double in_f28_29;" primitive_type identifier ;) (declaration "double in_f30_31;" primitive_type identifier ;) (declaration "undefined8 uVar30;" type_identifier identifier ;) (declaration "longlong lVar31;" type_identifier identifier ;) (declaration "undefined8 uVar32;" type_identifier identifier ;) (declaration "longlong lVar33;" type_identifier identifier ;) (declaration "undefined8 local_1160;" type_identifier identifier ;) (declaration "undefined1 *local_1158;" type_identifier (pointer_declarator "*local_1158" * identifier) ;) (declaration "undefined *local_1154;" type_identifier (pointer_declarator "*local_1154" * identifier) ;) (declaration "int local_114c;" primitive_type identifier ;) (declaration "int local_1148;" primitive_type identifier ;) (declaration "int local_1144;" primitive_type identifier ;) (declaration "uint local_1140;" type_identifier identifier ;) (declaration "undefined *local_1138;" type_identifier (pointer_declarator "*local_1138" * identifier) ;) (declaration "undefined *local_1134;" type_identifier (pointer_declarator "*local_1134" * identifier) ;) (declaration "undefined *local_112c;" type_identifier (pointer_declarator "*local_112c" * identifier) ;) (declaration "int local_1128;" primitive_type identifier ;) (declaration "undefined4 local_1124;" type_identifier identifier ;) (declaration "int local_1120;" primitive_type identifier ;) (declaration "uint local_111c;" type_identifier identifier ;) (declaration "double local_1118;" primitive_type identifier ;) (declaration "undefined1 local_110c [4];" type_identifier (array_declarator "local_110c [4]" identifier [ number_literal ]) ;) (declaration "double local_1108;" primitive_type identifier ;) (declaration "uint local_1100;" type_identifier identifier ;) (declaration "uint local_10fc;" type_identifier identifier ;) (declaration "undefined1 *local_10f8;" type_identifier (pointer_declarator "*local_10f8" * identifier) ;) (declaration "int local_10f4;" primitive_type identifier ;) (declaration "int local_10f0;" primitive_type identifier ;) (declaration "int local_10ec;" primitive_type identifier ;) (declaration "undefined *local_10e8;" type_identifier (pointer_declarator "*local_10e8" * identifier) ;) (declaration "double local_10e0;" primitive_type identifier ;) (declaration "double local_10d8;" primitive_type identifier ;) (declaration "double local_10d0;" primitive_type identifier ;) (declaration "double local_10c8;" primitive_type identifier ;) (declaration "undefined4 local_10c0;" type_identifier identifier ;) (declaration "byte local_10b4 [12];" type_identifier (array_declarator "local_10b4 [12]" identifier [ number_literal ]) ;) (declaration "byte local_10a8 [2];" type_identifier (array_declarator "local_10a8 [2]" identifier [ number_literal ]) ;) (declaration "byte local_10a6 [70];" type_identifier (array_declarator "local_10a6 [70]" identifier [ number_literal ]) ;) (declaration "undefined1 local_1060;" type_identifier identifier ;) (declaration "undefined1 auStack_105c [4096];" type_identifier (array_declarator "auStack_105c [4096]" identifier [ number_literal ]) ;) (declaration "int local_5c;" primitive_type identifier ;) (expression_statement "puVar4 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar4 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "lVar31 = CONCAT44(unaff_s3,unaff_s5);" (assignment_expression "lVar31 = CONCAT44(unaff_s3,unaff_s5)" identifier = (call_expression "CONCAT44(unaff_s3,unaff_s5)" identifier (argument_list "(unaff_s3,unaff_s5)" ( identifier , identifier )))) ;) (expression_statement "local_5c = *(int *)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_5c = *(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))) ;) (if_statement "if (param_1 == 0) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }" { (expression_statement "uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                        PTR_UINT_003a8950 + -0xc60);" (assignment_expression "uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                        PTR_UINT_003a8950 + -0xc60)" identifier = (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                        PTR_UINT_003a8950 + -0xc60)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                        PTR_UINT_003a8950 + -0xc60)" ( (binary_expression "PTR_LAB_003a88e0 + 0xd78" identifier + number_literal) , (binary_expression "PTR_UINT_003a8950 + -0xe40" identifier + number_literal) , number_literal , (binary_expression "PTR_UINT_003a8950 + -0xc60" identifier + number_literal) )))) ;) (return_statement "return uVar20;" return identifier ;) })) (if_statement "if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x3214) != -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x3214) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x3214)" * (cast_expression "(int *)(param_1 + 0x3214)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3214)" ( (binary_expression "param_1 + 0x3214" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }" { (expression_statement "uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                        PTR_UINT_003a8950 + -0xc60);" (assignment_expression "uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                        PTR_UINT_003a8950 + -0xc60)" identifier = (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                        PTR_UINT_003a8950 + -0xc60)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                        PTR_UINT_003a8950 + -0xc60)" ( (binary_expression "PTR_LAB_003a88e0 + 0xda0" identifier + number_literal) , (binary_expression "PTR_UINT_003a8950 + -0xe40" identifier + number_literal) , number_literal , (binary_expression "PTR_UINT_003a8950 + -0xc60" identifier + number_literal) )))) ;) (return_statement "return uVar20;" return identifier ;) })) (if_statement "if (*(int *)(param_1 + 0x3210) != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x3210) != 0)" ( (binary_expression "*(int *)(param_1 + 0x3210) != 0" (pointer_expression "*(int *)(param_1 + 0x3210)" * (cast_expression "(int *)(param_1 + 0x3210)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3210)" ( (binary_expression "param_1 + 0x3210" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);\n  }" { (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" * (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210)" ( number_literal , (binary_expression "PTR_UINT_003a8950 + -0xe40" identifier + number_literal) , (binary_expression "PTR_UINT_003a8950 + -0xc70" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" identifier + number_literal) , (binary_expression "param_1 + 0x2210" identifier + number_literal) ))) ;) })) (if_statement "if (param_2 == 0) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }" { (expression_statement "uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                        PTR_UINT_003a8950 + -0xc60);" (assignment_expression "uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                        PTR_UINT_003a8950 + -0xc60)" identifier = (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                        PTR_UINT_003a8950 + -0xc60)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                        PTR_UINT_003a8950 + -0xc60)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1cac" identifier + number_literal) , (binary_expression "PTR_UINT_003a8950 + -0xe40" identifier + number_literal) , number_literal , (binary_expression "PTR_UINT_003a8950 + -0xc60" identifier + number_literal) )))) ;) (return_statement "return uVar20;" return identifier ;) })) (if_statement "if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }" if (parenthesized_expression "(*(int *)(param_2 + 0x1c) != -0x54535255)" ( (binary_expression "*(int *)(param_2 + 0x1c) != -0x54535255" (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }" { (expression_statement "uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                        PTR_UINT_003a8950 + -0xc60);" (assignment_expression "uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                        PTR_UINT_003a8950 + -0xc60)" identifier = (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                        PTR_UINT_003a8950 + -0xc60)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                        PTR_UINT_003a8950 + -0xc60)" ( (binary_expression "PTR_LAB_003a88e0 + 0x294c" identifier + number_literal) , (binary_expression "PTR_UINT_003a8950 + -0xe40" identifier + number_literal) , number_literal , (binary_expression "PTR_UINT_003a8950 + -0xc60" identifier + number_literal) )))) ;) (return_statement "return uVar20;" return identifier ;) })) (expression_statement "iVar6 = (*(code *)PTR_AcquireImage_003a960c)(param_1,param_2);" (assignment_expression "iVar6 = (*(code *)PTR_AcquireImage_003a960c)(param_1,param_2)" identifier = (call_expression "(*(code *)PTR_AcquireImage_003a960c)(param_1,param_2)" (parenthesized_expression "(*(code *)PTR_AcquireImage_003a960c)" ( (pointer_expression "*(code *)PTR_AcquireImage_003a960c" * (cast_expression "(code *)PTR_AcquireImage_003a960c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_2)" ( identifier , identifier )))) ;) (expression_statement "local_114c = (*(code *)PTR_OpenBlob_003a924c)(param_1,iVar6,2,param_2);" (assignment_expression "local_114c = (*(code *)PTR_OpenBlob_003a924c)(param_1,iVar6,2,param_2)" identifier = (call_expression "(*(code *)PTR_OpenBlob_003a924c)(param_1,iVar6,2,param_2)" (parenthesized_expression "(*(code *)PTR_OpenBlob_003a924c)" ( (pointer_expression "*(code *)PTR_OpenBlob_003a924c" * (cast_expression "(code *)PTR_OpenBlob_003a924c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,iVar6,2,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "puVar3 = PTR_UINT_003a8950;" (assignment_expression "puVar3 = PTR_UINT_003a8950" identifier = identifier) ;) (expression_statement "puVar17 = PTR_LAB_003a88e0;" (assignment_expression "puVar17 = PTR_LAB_003a88e0" identifier = identifier) ;) (if_statement "if (local_114c == 0) {\n    (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    uVar20 = 0;\n    dVar26 = in_f22_23;\n  }\n  else {\n    local_1158 = PTR_UINT_003a8950;\n    local_1134 = PTR_LAB_003a88e0;\n    local_1154 = PTR_UINT_003a8950;\n    (*(code *)PTR_memset_003a96d4)(&local_1100,0,0x48);\n    local_10c8 = *(double *)(puVar17 + 0x1438);\n    local_10f8 = &DAT_00000008;\n    local_10f4 = 1;\n    local_10f0 = 1;\n    local_10e8 = (undefined *)0x1;\n    puVar17 = PTR_UINT_003a8950 + -0xe20;\n    puVar23 = PTR_s_t_to_left_003a88e4 + 0x544;\n    local_10c0 = 2;\n    puVar24 = PTR_UINT_003a8950 + -0xe30;\n    local_1160 = CONCAT44(puVar17,local_1160._4_4_);\n    local_110c = (undefined1  [4])0x0;\n    puVar8 = PTR_UINT_003a8950;\n    do {\n      iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      if (iVar7 != 0) {\nLAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;\n        uVar22 = local_10fc;\n        iVar7 = local_10f4;\n        iVar10 = local_10f0;\n        break;\n      }\n      puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      while (puVar8 == (undefined1 *)0x0) {\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);\n        if (iVar7 != 8) break;\n        piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar21 = local_10b4;\n        do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);\n        pbVar21 = local_10a8;\n        local_10b4[(int)puVar8] = 0;\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);\n        local_1060 = 0;\n        if (iVar7 != 0x48) break;\n        if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);\n        if (iVar7 == 0) break;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);\n        if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);\n        if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);\n        if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);\n        if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);\n        if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);\n        if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);\n        if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);\n        if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);\n        if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);\n        puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      }\n      iVar7 = 0;\n      while( true ) {\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);\n        if ((lVar31 == 0) || (iVar7 == -1)) break;\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      }\n      if (local_1100 == 0) goto LAB_00224bd4;\n      if (local_10f8 + -8 < &DAT_00000019) {\n        if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;\n      }\n      else if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }\n    } while (((local_10fc == 0) || (3 < local_10ec - 1U)) ||\n            (lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0));\n    local_1144 = iVar10;\n    local_1148 = iVar7;\n    local_10fc = uVar22;\n    local_10f4 = local_1148;\n    local_10f0 = local_1144;\n    if (local_110c != (undefined1  [4])0x0) {\n      (*(code *)PTR_SetImageProperty_003a9534)\n                (iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)\n      ;\n      local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c);\n    }\n    iVar7 = (int)lVar33;\n    lVar31 = CONCAT44(iVar7,puVar8);\n    iVar10 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n    if (iVar10 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\n    }\n    if (((uVar22 != 0) && (local_10ec - 1U < 4)) && (lVar33 != 0)) {\n      local_1138 = local_10e8;\n      if (0 < (int)local_10e8) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = local_10f8;\n        local_1124 = local_10c0;\n        puVar8 = local_10f8;\n        if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }\n        iVar7 = -1;\n        if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }\n        puVar8 = puVar8 + -1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar11 = 2 << ((uint)puVar8 & 0x1f);\n        local_1128 = iVar7 * (int)local_10f8;\n        uVar13 = uVar11;\n        uVar22 = 1 >> (~(uint)puVar8 & 0x1f);\n        if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar13 - 1;\n        local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);\n        goto LAB_00224900;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224e60;\n    }\n    uVar20 = 0x1a5;\n    puVar17 = PTR_UINT_003a8950 + -0x2c10;\nLAB_00224c3c:\n    lVar31 = CONCAT44(iVar7,puVar8);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar20,0x1a9,puVar17,\n               PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x2210);\n    if (iVar6 != 0) {\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    }\n    uVar20 = 0;\n    dVar26 = in_f22_23;\n  }" if (parenthesized_expression "(local_114c == 0)" ( (binary_expression "local_114c == 0" identifier == number_literal) )) (compound_statement "{\n    (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    uVar20 = 0;\n    dVar26 = in_f22_23;\n  }" { (expression_statement "(*(code *)PTR_DestroyImageList_003a9510)(iVar6);" (call_expression "(*(code *)PTR_DestroyImageList_003a9510)(iVar6)" (parenthesized_expression "(*(code *)PTR_DestroyImageList_003a9510)" ( (pointer_expression "*(code *)PTR_DestroyImageList_003a9510" * (cast_expression "(code *)PTR_DestroyImageList_003a9510" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))) ;) (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (expression_statement "dVar26 = in_f22_23;" (assignment_expression "dVar26 = in_f22_23" identifier = identifier) ;) }) (else_clause "else {\n    local_1158 = PTR_UINT_003a8950;\n    local_1134 = PTR_LAB_003a88e0;\n    local_1154 = PTR_UINT_003a8950;\n    (*(code *)PTR_memset_003a96d4)(&local_1100,0,0x48);\n    local_10c8 = *(double *)(puVar17 + 0x1438);\n    local_10f8 = &DAT_00000008;\n    local_10f4 = 1;\n    local_10f0 = 1;\n    local_10e8 = (undefined *)0x1;\n    puVar17 = PTR_UINT_003a8950 + -0xe20;\n    puVar23 = PTR_s_t_to_left_003a88e4 + 0x544;\n    local_10c0 = 2;\n    puVar24 = PTR_UINT_003a8950 + -0xe30;\n    local_1160 = CONCAT44(puVar17,local_1160._4_4_);\n    local_110c = (undefined1  [4])0x0;\n    puVar8 = PTR_UINT_003a8950;\n    do {\n      iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      if (iVar7 != 0) {\nLAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;\n        uVar22 = local_10fc;\n        iVar7 = local_10f4;\n        iVar10 = local_10f0;\n        break;\n      }\n      puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      while (puVar8 == (undefined1 *)0x0) {\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);\n        if (iVar7 != 8) break;\n        piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar21 = local_10b4;\n        do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);\n        pbVar21 = local_10a8;\n        local_10b4[(int)puVar8] = 0;\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);\n        local_1060 = 0;\n        if (iVar7 != 0x48) break;\n        if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);\n        if (iVar7 == 0) break;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);\n        if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);\n        if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);\n        if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);\n        if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);\n        if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);\n        if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);\n        if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);\n        if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);\n        if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);\n        puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      }\n      iVar7 = 0;\n      while( true ) {\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);\n        if ((lVar31 == 0) || (iVar7 == -1)) break;\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      }\n      if (local_1100 == 0) goto LAB_00224bd4;\n      if (local_10f8 + -8 < &DAT_00000019) {\n        if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;\n      }\n      else if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }\n    } while (((local_10fc == 0) || (3 < local_10ec - 1U)) ||\n            (lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0));\n    local_1144 = iVar10;\n    local_1148 = iVar7;\n    local_10fc = uVar22;\n    local_10f4 = local_1148;\n    local_10f0 = local_1144;\n    if (local_110c != (undefined1  [4])0x0) {\n      (*(code *)PTR_SetImageProperty_003a9534)\n                (iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)\n      ;\n      local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c);\n    }\n    iVar7 = (int)lVar33;\n    lVar31 = CONCAT44(iVar7,puVar8);\n    iVar10 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n    if (iVar10 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\n    }\n    if (((uVar22 != 0) && (local_10ec - 1U < 4)) && (lVar33 != 0)) {\n      local_1138 = local_10e8;\n      if (0 < (int)local_10e8) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = local_10f8;\n        local_1124 = local_10c0;\n        puVar8 = local_10f8;\n        if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }\n        iVar7 = -1;\n        if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }\n        puVar8 = puVar8 + -1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar11 = 2 << ((uint)puVar8 & 0x1f);\n        local_1128 = iVar7 * (int)local_10f8;\n        uVar13 = uVar11;\n        uVar22 = 1 >> (~(uint)puVar8 & 0x1f);\n        if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar13 - 1;\n        local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);\n        goto LAB_00224900;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224e60;\n    }\n    uVar20 = 0x1a5;\n    puVar17 = PTR_UINT_003a8950 + -0x2c10;\nLAB_00224c3c:\n    lVar31 = CONCAT44(iVar7,puVar8);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar20,0x1a9,puVar17,\n               PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x2210);\n    if (iVar6 != 0) {\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    }\n    uVar20 = 0;\n    dVar26 = in_f22_23;\n  }" else (compound_statement "{\n    local_1158 = PTR_UINT_003a8950;\n    local_1134 = PTR_LAB_003a88e0;\n    local_1154 = PTR_UINT_003a8950;\n    (*(code *)PTR_memset_003a96d4)(&local_1100,0,0x48);\n    local_10c8 = *(double *)(puVar17 + 0x1438);\n    local_10f8 = &DAT_00000008;\n    local_10f4 = 1;\n    local_10f0 = 1;\n    local_10e8 = (undefined *)0x1;\n    puVar17 = PTR_UINT_003a8950 + -0xe20;\n    puVar23 = PTR_s_t_to_left_003a88e4 + 0x544;\n    local_10c0 = 2;\n    puVar24 = PTR_UINT_003a8950 + -0xe30;\n    local_1160 = CONCAT44(puVar17,local_1160._4_4_);\n    local_110c = (undefined1  [4])0x0;\n    puVar8 = PTR_UINT_003a8950;\n    do {\n      iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      if (iVar7 != 0) {\nLAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;\n        uVar22 = local_10fc;\n        iVar7 = local_10f4;\n        iVar10 = local_10f0;\n        break;\n      }\n      puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      while (puVar8 == (undefined1 *)0x0) {\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);\n        if (iVar7 != 8) break;\n        piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar21 = local_10b4;\n        do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);\n        pbVar21 = local_10a8;\n        local_10b4[(int)puVar8] = 0;\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);\n        local_1060 = 0;\n        if (iVar7 != 0x48) break;\n        if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);\n        if (iVar7 == 0) break;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);\n        if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);\n        if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);\n        if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);\n        if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);\n        if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);\n        if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);\n        if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);\n        if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);\n        if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);\n        puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      }\n      iVar7 = 0;\n      while( true ) {\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);\n        if ((lVar31 == 0) || (iVar7 == -1)) break;\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      }\n      if (local_1100 == 0) goto LAB_00224bd4;\n      if (local_10f8 + -8 < &DAT_00000019) {\n        if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;\n      }\n      else if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }\n    } while (((local_10fc == 0) || (3 < local_10ec - 1U)) ||\n            (lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0));\n    local_1144 = iVar10;\n    local_1148 = iVar7;\n    local_10fc = uVar22;\n    local_10f4 = local_1148;\n    local_10f0 = local_1144;\n    if (local_110c != (undefined1  [4])0x0) {\n      (*(code *)PTR_SetImageProperty_003a9534)\n                (iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)\n      ;\n      local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c);\n    }\n    iVar7 = (int)lVar33;\n    lVar31 = CONCAT44(iVar7,puVar8);\n    iVar10 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n    if (iVar10 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\n    }\n    if (((uVar22 != 0) && (local_10ec - 1U < 4)) && (lVar33 != 0)) {\n      local_1138 = local_10e8;\n      if (0 < (int)local_10e8) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = local_10f8;\n        local_1124 = local_10c0;\n        puVar8 = local_10f8;\n        if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }\n        iVar7 = -1;\n        if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }\n        puVar8 = puVar8 + -1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar11 = 2 << ((uint)puVar8 & 0x1f);\n        local_1128 = iVar7 * (int)local_10f8;\n        uVar13 = uVar11;\n        uVar22 = 1 >> (~(uint)puVar8 & 0x1f);\n        if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar13 - 1;\n        local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);\n        goto LAB_00224900;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224e60;\n    }\n    uVar20 = 0x1a5;\n    puVar17 = PTR_UINT_003a8950 + -0x2c10;\nLAB_00224c3c:\n    lVar31 = CONCAT44(iVar7,puVar8);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar20,0x1a9,puVar17,\n               PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x2210);\n    if (iVar6 != 0) {\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    }\n    uVar20 = 0;\n    dVar26 = in_f22_23;\n  }" { (expression_statement "local_1158 = PTR_UINT_003a8950;" (assignment_expression "local_1158 = PTR_UINT_003a8950" identifier = identifier) ;) (expression_statement "local_1134 = PTR_LAB_003a88e0;" (assignment_expression "local_1134 = PTR_LAB_003a88e0" identifier = identifier) ;) (expression_statement "local_1154 = PTR_UINT_003a8950;" (assignment_expression "local_1154 = PTR_UINT_003a8950" identifier = identifier) ;) (expression_statement "(*(code *)PTR_memset_003a96d4)(&local_1100,0,0x48);" (call_expression "(*(code *)PTR_memset_003a96d4)(&local_1100,0,0x48)" (parenthesized_expression "(*(code *)PTR_memset_003a96d4)" ( (pointer_expression "*(code *)PTR_memset_003a96d4" * (cast_expression "(code *)PTR_memset_003a96d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_1100,0,0x48)" ( (pointer_expression "&local_1100" & identifier) , number_literal , number_literal ))) ;) (expression_statement "local_10c8 = *(double *)(puVar17 + 0x1438);" (assignment_expression "local_10c8 = *(double *)(puVar17 + 0x1438)" identifier = (pointer_expression "*(double *)(puVar17 + 0x1438)" * (cast_expression "(double *)(puVar17 + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x1438)" ( (binary_expression "puVar17 + 0x1438" identifier + number_literal) ))))) ;) (expression_statement "local_10f8 = &DAT_00000008;" (assignment_expression "local_10f8 = &DAT_00000008" identifier = (pointer_expression "&DAT_00000008" & identifier)) ;) (expression_statement "local_10f4 = 1;" (assignment_expression "local_10f4 = 1" identifier = number_literal) ;) (expression_statement "local_10f0 = 1;" (assignment_expression "local_10f0 = 1" identifier = number_literal) ;) (expression_statement "local_10e8 = (undefined *)0x1;" (assignment_expression "local_10e8 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar17 = PTR_UINT_003a8950 + -0xe20;" (assignment_expression "puVar17 = PTR_UINT_003a8950 + -0xe20" identifier = (binary_expression "PTR_UINT_003a8950 + -0xe20" identifier + number_literal)) ;) (expression_statement "puVar23 = PTR_s_t_to_left_003a88e4 + 0x544;" (assignment_expression "puVar23 = PTR_s_t_to_left_003a88e4 + 0x544" identifier = (binary_expression "PTR_s_t_to_left_003a88e4 + 0x544" identifier + number_literal)) ;) (expression_statement "local_10c0 = 2;" (assignment_expression "local_10c0 = 2" identifier = number_literal) ;) (expression_statement "puVar24 = PTR_UINT_003a8950 + -0xe30;" (assignment_expression "puVar24 = PTR_UINT_003a8950 + -0xe30" identifier = (binary_expression "PTR_UINT_003a8950 + -0xe30" identifier + number_literal)) ;) (expression_statement "local_1160 = CONCAT44(puVar17,local_1160._4_4_);" (assignment_expression "local_1160 = CONCAT44(puVar17,local_1160._4_4_)" identifier = (call_expression "CONCAT44(puVar17,local_1160._4_4_)" identifier (argument_list "(puVar17,local_1160._4_4_)" ( identifier , (field_expression "local_1160._4_4_" identifier . field_identifier) )))) ;) (expression_statement "local_110c = (undefined1  [4])0x0;" (assignment_expression "local_110c = (undefined1  [4])0x0" identifier = (cast_expression "(undefined1  [4])0x0" ( (type_descriptor "undefined1  [4]" type_identifier (abstract_array_declarator "[4]" [ number_literal ])) ) number_literal)) ;) (expression_statement "puVar8 = PTR_UINT_003a8950;" (assignment_expression "puVar8 = PTR_UINT_003a8950" identifier = identifier) ;) (do_statement "do {\n      iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      if (iVar7 != 0) {\nLAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;\n        uVar22 = local_10fc;\n        iVar7 = local_10f4;\n        iVar10 = local_10f0;\n        break;\n      }\n      puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      while (puVar8 == (undefined1 *)0x0) {\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);\n        if (iVar7 != 8) break;\n        piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar21 = local_10b4;\n        do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);\n        pbVar21 = local_10a8;\n        local_10b4[(int)puVar8] = 0;\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);\n        local_1060 = 0;\n        if (iVar7 != 0x48) break;\n        if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);\n        if (iVar7 == 0) break;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);\n        if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);\n        if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);\n        if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);\n        if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);\n        if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);\n        if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);\n        if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);\n        if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);\n        if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);\n        puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      }\n      iVar7 = 0;\n      while( true ) {\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);\n        if ((lVar31 == 0) || (iVar7 == -1)) break;\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      }\n      if (local_1100 == 0) goto LAB_00224bd4;\n      if (local_10f8 + -8 < &DAT_00000019) {\n        if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;\n      }\n      else if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }\n    } while (((local_10fc == 0) || (3 < local_10ec - 1U)) ||\n            (lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0));" do (compound_statement "{\n      iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      if (iVar7 != 0) {\nLAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;\n        uVar22 = local_10fc;\n        iVar7 = local_10f4;\n        iVar10 = local_10f0;\n        break;\n      }\n      puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      while (puVar8 == (undefined1 *)0x0) {\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);\n        if (iVar7 != 8) break;\n        piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar21 = local_10b4;\n        do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);\n        pbVar21 = local_10a8;\n        local_10b4[(int)puVar8] = 0;\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);\n        local_1060 = 0;\n        if (iVar7 != 0x48) break;\n        if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);\n        if (iVar7 == 0) break;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);\n        if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);\n        if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);\n        if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);\n        if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);\n        if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);\n        if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);\n        if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);\n        if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);\n        if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);\n        puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      }\n      iVar7 = 0;\n      while( true ) {\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);\n        if ((lVar31 == 0) || (iVar7 == -1)) break;\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      }\n      if (local_1100 == 0) goto LAB_00224bd4;\n      if (local_10f8 + -8 < &DAT_00000019) {\n        if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;\n      }\n      else if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }\n    }" { (expression_statement "iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);" (assignment_expression "iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6)" identifier = (call_expression "(*(code *)PTR_EOFBlob_003a9748)(iVar6)" (parenthesized_expression "(*(code *)PTR_EOFBlob_003a9748)" ( (pointer_expression "*(code *)PTR_EOFBlob_003a9748" * (cast_expression "(code *)PTR_EOFBlob_003a9748" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (if_statement "if (iVar7 != 0) {\nLAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;\n        uVar22 = local_10fc;\n        iVar7 = local_10f4;\n        iVar10 = local_10f0;\n        break;\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;\n        uVar22 = local_10fc;\n        iVar7 = local_10f4;\n        iVar10 = local_10f0;\n        break;\n      }" { (labeled_statement "LAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;" statement_identifier : (expression_statement "lVar33 = (longlong)local_10f4 * (longlong)local_10f0;" (assignment_expression "lVar33 = (longlong)local_10f4 * (longlong)local_10f0" identifier = (binary_expression "(longlong)local_10f4 * (longlong)local_10f0" (cast_expression "(longlong)local_10f4" ( (type_descriptor "longlong" type_identifier) ) identifier) * (cast_expression "(longlong)local_10f0" ( (type_descriptor "longlong" type_identifier) ) identifier))) ;)) (expression_statement "uVar22 = local_10fc;" (assignment_expression "uVar22 = local_10fc" identifier = identifier) ;) (expression_statement "iVar7 = local_10f4;" (assignment_expression "iVar7 = local_10f4" identifier = identifier) ;) (expression_statement "iVar10 = local_10f0;" (assignment_expression "iVar10 = local_10f0" identifier = identifier) ;) (break_statement "break;" break ;) })) (expression_statement "puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);" (assignment_expression "puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6)" identifier = (cast_expression "(undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_EOFBlob_003a9748)(iVar6)" (parenthesized_expression "(*(code *)PTR_EOFBlob_003a9748)" ( (pointer_expression "*(code *)PTR_EOFBlob_003a9748" * (cast_expression "(code *)PTR_EOFBlob_003a9748" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))))) ;) (while_statement "while (puVar8 == (undefined1 *)0x0) {\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);\n        if (iVar7 != 8) break;\n        piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar21 = local_10b4;\n        do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);\n        pbVar21 = local_10a8;\n        local_10b4[(int)puVar8] = 0;\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);\n        local_1060 = 0;\n        if (iVar7 != 0x48) break;\n        if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);\n        if (iVar7 == 0) break;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);\n        if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);\n        if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);\n        if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);\n        if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);\n        if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);\n        if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);\n        if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);\n        if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);\n        if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);\n        puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      }" while (parenthesized_expression "(puVar8 == (undefined1 *)0x0)" ( (binary_expression "puVar8 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);\n        if (iVar7 != 8) break;\n        piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar21 = local_10b4;\n        do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);\n        pbVar21 = local_10a8;\n        local_10b4[(int)puVar8] = 0;\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);\n        local_1060 = 0;\n        if (iVar7 != 0x48) break;\n        if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);\n        if (iVar7 == 0) break;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);\n        if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);\n        if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);\n        if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);\n        if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);\n        if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);\n        if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);\n        if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);\n        if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);\n        if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);\n        puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      }" { (expression_statement "iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);" (assignment_expression "iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4)" identifier = (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" ( (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" * (cast_expression "(code *)PTR_ReadBlob_003a8dac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,8,local_10b4)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar7 != 8) break;" if (parenthesized_expression "(iVar7 != 8)" ( (binary_expression "iVar7 != 8" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();" (assignment_expression "piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)()" identifier = (cast_expression "(int *)(*(code *)PTR___ctype_b_loc_003a9434)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___ctype_b_loc_003a9434)()" (parenthesized_expression "(*(code *)PTR___ctype_b_loc_003a9434)" ( (pointer_expression "*(code *)PTR___ctype_b_loc_003a9434" * (cast_expression "(code *)PTR___ctype_b_loc_003a9434" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "pbVar21 = local_10b4;" (assignment_expression "pbVar21 = local_10b4" identifier = identifier) ;) (do_statement "do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);" do (compound_statement "{\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        }" { (if_statement "if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;" if (parenthesized_expression "((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0)" ( (binary_expression "(*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0" (parenthesized_expression "(*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20)" ( (binary_expression "*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20" (pointer_expression "*(ushort *)(*piVar9 + (uint)*pbVar21 * 2)" * (cast_expression "(ushort *)(*piVar9 + (uint)*pbVar21 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + (uint)*pbVar21 * 2)" ( (binary_expression "*piVar9 + (uint)*pbVar21 * 2" (pointer_expression "*piVar9" * identifier) + (binary_expression "(uint)*pbVar21 * 2" (binary_expression "(uint)*pbVar21" (parenthesized_expression "(uint)" ( identifier )) * identifier) * number_literal)) )))) & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar8 = puVar8 + 1;" (assignment_expression "puVar8 = puVar8 + 1" identifier = (binary_expression "puVar8 + 1" identifier + number_literal)) ;) (expression_statement "bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();" (assignment_expression "bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)()" identifier = (call_expression "(*(code *)PTR_LocaleLowercase_003a9684)()" (parenthesized_expression "(*(code *)PTR_LocaleLowercase_003a9684)" ( (pointer_expression "*(code *)PTR_LocaleLowercase_003a9684" * (cast_expression "(code *)PTR_LocaleLowercase_003a9684" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "*pbVar21 = bVar16;" (assignment_expression "*pbVar21 = bVar16" (pointer_expression "*pbVar21" * identifier) = identifier) ;) (expression_statement "pbVar21 = pbVar21 + 1;" (assignment_expression "pbVar21 = pbVar21 + 1" identifier = (binary_expression "pbVar21 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar8 != &DAT_00000008)" ( (binary_expression "puVar8 != &DAT_00000008" identifier != (pointer_expression "&DAT_00000008" & identifier)) )) ;) (expression_statement "pbVar21 = local_10a8;" (assignment_expression "pbVar21 = local_10a8" identifier = identifier) ;) (expression_statement "local_10b4[(int)puVar8] = 0;" (assignment_expression "local_10b4[(int)puVar8] = 0" (subscript_expression "local_10b4[(int)puVar8]" identifier [ (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) ]) = number_literal) ;) (expression_statement "iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);" (assignment_expression "iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21)" identifier = (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" ( (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" * (cast_expression "(code *)PTR_ReadBlob_003a8dac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,0x48,pbVar21)" ( identifier , number_literal , identifier )))) ;) (expression_statement "local_1060 = 0;" (assignment_expression "local_1060 = 0" identifier = number_literal) ;) (if_statement "if (iVar7 != 0x48) break;" if (parenthesized_expression "(iVar7 != 0x48)" ( (binary_expression "iVar7 != 0x48" identifier != number_literal) )) (break_statement "break;" break ;)) (if_statement "if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }" if (parenthesized_expression "(local_10a8[0] == 0x3d)" ( (binary_expression "local_10a8[0] == 0x3d" (subscript_expression "local_10a8[0]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }" { (expression_statement "pbVar21 = local_10a6;" (assignment_expression "pbVar21 = local_10a6" identifier = identifier) ;) (while_statement "while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }" while (parenthesized_expression "((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0)" ( (binary_expression "(*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0" (parenthesized_expression "(*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20)" ( (binary_expression "*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20" (pointer_expression "*(ushort *)(*piVar9 + (uint)*pbVar21 * 2)" * (cast_expression "(ushort *)(*piVar9 + (uint)*pbVar21 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + (uint)*pbVar21 * 2)" ( (binary_expression "*piVar9 + (uint)*pbVar21 * 2" (pointer_expression "*piVar9" * identifier) + (binary_expression "(uint)*pbVar21 * 2" (binary_expression "(uint)*pbVar21" (parenthesized_expression "(uint)" ( identifier )) * identifier) * number_literal)) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            pbVar21 = pbVar21 + 1;\n          }" { (expression_statement "pbVar21 = pbVar21 + 1;" (assignment_expression "pbVar21 = pbVar21 + 1" identifier = (binary_expression "pbVar21 + 1" identifier + number_literal)) ;) })) })) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_10b4,puVar23)" ( identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_10b4,puVar24)" ( identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }" { (expression_statement "local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);" (assignment_expression "local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54)" identifier = (call_expression "(uint)((*pbVar21 & 0xdf) == 0x54)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*pbVar21 & 0xdf) == 0x54)" ( (binary_expression "(*pbVar21 & 0xdf) == 0x54" (parenthesized_expression "(*pbVar21 & 0xdf)" ( (binary_expression "*pbVar21 & 0xdf" (pointer_expression "*pbVar21" * identifier) & number_literal) )) == number_literal) )))) ;) })) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_10b4,puVar3 + -0xe28)" ( identifier , (binary_expression "puVar3 + -0xe28" identifier + number_literal) )))) ;) (if_statement "if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }" { (expression_statement "local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);" (assignment_expression "local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54)" identifier = (call_expression "(uint)((*pbVar21 & 0xdf) == 0x54)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*pbVar21 & 0xdf) == 0x54)" ( (binary_expression "(*pbVar21 & 0xdf) == 0x54" (parenthesized_expression "(*pbVar21 & 0xdf)" ( (binary_expression "*pbVar21 & 0xdf" (pointer_expression "*pbVar21" * identifier) & number_literal) )) == number_literal) )))) ;) })) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_10b4,puVar17)" ( identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }" { (expression_statement "local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);" (assignment_expression "local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" identifier = (cast_expression "(undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" (parenthesized_expression "(*(code *)PTR_strtol_003a954c)" ( (pointer_expression "*(code *)PTR_strtol_003a954c" * (cast_expression "(code *)PTR_strtol_003a954c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar21,0,10)" ( identifier , number_literal , number_literal ))))) ;) })) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_10b4,puVar3 + -0xe18)" ( identifier , (binary_expression "puVar3 + -0xe18" identifier + number_literal) )))) ;) (if_statement "if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }" { (expression_statement "local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);" (assignment_expression "local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" identifier = (call_expression "(*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" (parenthesized_expression "(*(code *)PTR_strtol_003a954c)" ( (pointer_expression "*(code *)PTR_strtol_003a954c" * (cast_expression "(code *)PTR_strtol_003a954c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar21,0,10)" ( identifier , number_literal , number_literal )))) ;) })) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_10b4,PTR_UINT_003a8950 + -0xe10)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xe10" identifier + number_literal) )))) ;) (if_statement "if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }" { (expression_statement "local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);" (assignment_expression "local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" identifier = (call_expression "(*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" (parenthesized_expression "(*(code *)PTR_strtol_003a954c)" ( (pointer_expression "*(code *)PTR_strtol_003a954c" * (cast_expression "(code *)PTR_strtol_003a954c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar21,0,10)" ( identifier , number_literal , number_literal )))) ;) })) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_10b4,PTR_UINT_003a8950 + -0xe08)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xe08" identifier + number_literal) )))) ;) (if_statement "if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }" { (expression_statement "local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);" (assignment_expression "local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" identifier = (call_expression "(*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" (parenthesized_expression "(*(code *)PTR_strtol_003a954c)" ( (pointer_expression "*(code *)PTR_strtol_003a954c" * (cast_expression "(code *)PTR_strtol_003a954c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar21,0,10)" ( identifier , number_literal , number_literal )))) ;) })) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_10b4,PTR_UINT_003a8950 + -0xe00)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xe00" identifier + number_literal) )))) ;) (if_statement "if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }" { (expression_statement "local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);" (assignment_expression "local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" identifier = (cast_expression "(undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" (parenthesized_expression "(*(code *)PTR_strtol_003a954c)" ( (pointer_expression "*(code *)PTR_strtol_003a954c" * (cast_expression "(code *)PTR_strtol_003a954c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar21,0,10)" ( identifier , number_literal , number_literal ))))) ;) })) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_10b4,PTR_UINT_003a8950 + -0xdf8)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xdf8" identifier + number_literal) )))) ;) (if_statement "if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }" { (expression_statement "local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);" (assignment_expression "local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0)" identifier = (cast_expression "(double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,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 "(pbVar21,0)" ( identifier , number_literal ))))) ;) })) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_10b4,PTR_UINT_003a8950 + -0xdf0)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xdf0" identifier + number_literal) )))) ;) (if_statement "if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }" { (expression_statement "local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);" (assignment_expression "local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0)" identifier = (cast_expression "(double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,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 "(pbVar21,0)" ( identifier , number_literal ))))) ;) })) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_10b4,PTR_UINT_003a8950 + -0xde8)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xde8" identifier + number_literal) )))) ;) (if_statement "if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }" { (expression_statement "local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);" (assignment_expression "local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0)" identifier = (cast_expression "(double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,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 "(pbVar21,0)" ( identifier , number_literal ))))) ;) })) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_10b4,PTR_UINT_003a8950 + -0xde0)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xde0" identifier + number_literal) )))) ;) (if_statement "if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }" { (expression_statement "local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);" (assignment_expression "local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0)" identifier = (cast_expression "(double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,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 "(pbVar21,0)" ( identifier , number_literal ))))) ;) })) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928)" ( identifier , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928" identifier + number_literal) )))) ;) (if_statement "if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }" { (if_statement "if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }" if (parenthesized_expression "(local_110c == (undefined1  [4])0x0)" ( (binary_expression "local_110c == (undefined1  [4])0x0" identifier == (cast_expression "(undefined1  [4])0x0" ( (type_descriptor "undefined1  [4]" type_identifier (abstract_array_declarator "[4]" [ number_literal ])) ) number_literal)) )) (compound_statement "{\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }" { (expression_statement "local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);" (assignment_expression "local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21)" identifier = (call_expression "(undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21)" (call_expression "(undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)" (parenthesized_expression "(undefined1  [4])" ( (subscript_expression "undefined1  [4]" identifier [ number_literal ]) )) (argument_list "(*(code *)PTR_ConstantString_003a90b4)" ( (pointer_expression "*(code *)PTR_ConstantString_003a90b4" * (cast_expression "(code *)PTR_ConstantString_003a90b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) (argument_list "(pbVar21)" ( identifier )))) ;) }) (else_clause "else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }" else (compound_statement "{\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }" { (expression_statement "(*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);" (call_expression "(*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21)" (parenthesized_expression "(*(code *)PTR_ConcatenateString_003a93a8)" ( (pointer_expression "*(code *)PTR_ConcatenateString_003a93a8" * (cast_expression "(code *)PTR_ConcatenateString_003a93a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_110c,pbVar21)" ( identifier , identifier ))) ;) }))) })) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_10b4,PTR_UINT_003a8950 + -0xdd8)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xdd8" identifier + number_literal) )))) ;) (if_statement "if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }" { (expression_statement "iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3)" identifier = (call_expression "(*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3)" (parenthesized_expression "(*(code *)PTR_LocaleNCompare_003a961c)" ( (pointer_expression "*(code *)PTR_LocaleNCompare_003a961c" * (cast_expression "(code *)PTR_LocaleNCompare_003a961c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar21,PTR_UINT_003a8950 + -0xdd0,3)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xdd0" identifier + number_literal) , number_literal )))) ;) (if_statement "if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n            local_10c0 = 2;\n          }" { (expression_statement "local_10c0 = 2;" (assignment_expression "local_10c0 = 2" identifier = number_literal) ;) }) (else_clause "else {\n            local_10c0 = 1;\n          }" else (compound_statement "{\n            local_10c0 = 1;\n          }" { (expression_statement "local_10c0 = 1;" (assignment_expression "local_10c0 = 1" identifier = number_literal) ;) }))) })) (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4)" (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_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4)" ( identifier , number_literal , (binary_expression "PTR_UINT_003a8950 + -0xdcc" identifier + number_literal) , identifier ))) ;) (expression_statement "(*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);" (call_expression "(*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2)" (parenthesized_expression "(*(code *)PTR_SetImageProperty_003a9534)" ( (pointer_expression "*(code *)PTR_SetImageProperty_003a9534" * (cast_expression "(code *)PTR_SetImageProperty_003a9534" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,auStack_105c,pbVar21,param_2)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);" (assignment_expression "puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6)" identifier = (cast_expression "(undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_EOFBlob_003a9748)(iVar6)" (parenthesized_expression "(*(code *)PTR_EOFBlob_003a9748)" ( (pointer_expression "*(code *)PTR_EOFBlob_003a9748" * (cast_expression "(code *)PTR_EOFBlob_003a9748" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))))) ;) })) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);\n        if ((lVar31 == 0) || (iVar7 == -1)) break;\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);\n        if ((lVar31 == 0) || (iVar7 == -1)) break;\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      }" { (expression_statement "uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);" (assignment_expression "uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6)" identifier = (call_expression "(*(code *)PTR_TellBlob_003a931c)(iVar6)" (parenthesized_expression "(*(code *)PTR_TellBlob_003a931c)" ( (pointer_expression "*(code *)PTR_TellBlob_003a931c" * (cast_expression "(code *)PTR_TellBlob_003a931c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);" (assignment_expression "lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40)" identifier = (call_expression "(*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40)" (parenthesized_expression "(*(code *)PTR_FUN_003a8a78)" ( (pointer_expression "*(code *)PTR_FUN_003a8a78" * (cast_expression "(code *)PTR_FUN_003a8a78" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40)" ( (cast_expression "(int)((ulonglong)uVar30 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar30 >> 0x20)" ( (binary_expression "(ulonglong)uVar30 >> 0x20" (cast_expression "(ulonglong)uVar30" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (cast_expression "(int)uVar30" ( (type_descriptor "int" primitive_type) ) identifier) , number_literal , number_literal )))) ;) (if_statement "if ((lVar31 == 0) || (iVar7 == -1)) break;" if (parenthesized_expression "((lVar31 == 0) || (iVar7 == -1))" ( (binary_expression "(lVar31 == 0) || (iVar7 == -1)" (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar7 == -1)" ( (binary_expression "iVar7 == -1" identifier == number_literal) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);" (assignment_expression "iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) })) (if_statement "if (local_1100 == 0) goto LAB_00224bd4;" if (parenthesized_expression "(local_1100 == 0)" ( (binary_expression "local_1100 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00224bd4;" goto statement_identifier ;)) (if_statement "if (local_10f8 + -8 < &DAT_00000019) {\n        if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;\n      }\n      else if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }" if (parenthesized_expression "(local_10f8 + -8 < &DAT_00000019)" ( (binary_expression "local_10f8 + -8 < &DAT_00000019" (binary_expression "local_10f8 + -8" identifier + number_literal) < (pointer_expression "&DAT_00000019" & identifier)) )) (compound_statement "{\n        if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;\n      }" { (if_statement "if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;" if (parenthesized_expression "(-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f))" ( (binary_expression "-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)" number_literal < (cast_expression "(int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)" ( (binary_expression "(0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f" (parenthesized_expression "(0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f))" ( (binary_expression "0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)" number_literal >> (parenthesized_expression "((uint)(local_10f8 + -8) & 0x1f)" ( (binary_expression "(uint)(local_10f8 + -8) & 0x1f" (call_expression "(uint)(local_10f8 + -8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_10f8 + -8)" ( (binary_expression "local_10f8 + -8" identifier + number_literal) ))) & number_literal) ))) )) << number_literal) )))) )) (goto_statement "goto LAB_002245cc;" goto statement_identifier ;)) }) (else_clause "else if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }" else (if_statement "if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }" if (parenthesized_expression "(local_10f8 != (undefined1 *)0x40)" ( (binary_expression "local_10f8 != (undefined1 *)0x40" identifier != (cast_expression "(undefined1 *)0x40" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }" { (labeled_statement "LAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }" statement_identifier : (if_statement "if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }" if (parenthesized_expression "(((uint)local_10f8 & 0xffffffdf) != 0xffffffc0)" ( (binary_expression "((uint)local_10f8 & 0xffffffdf) != 0xffffffc0" (parenthesized_expression "((uint)local_10f8 & 0xffffffdf)" ( (binary_expression "(uint)local_10f8 & 0xffffffdf" (cast_expression "(uint)local_10f8" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }" { (if_statement "if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }" if (parenthesized_expression "(local_110c != (undefined1  [4])0x0)" ( (binary_expression "local_110c != (undefined1  [4])0x0" identifier != (cast_expression "(undefined1  [4])0x0" ( (type_descriptor "undefined1  [4]" type_identifier (abstract_array_declarator "[4]" [ number_literal ])) ) number_literal)) )) (compound_statement "{\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }" { (expression_statement "local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();" (assignment_expression "local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)()" identifier = (call_expression "(undefined1  [4])(*(code *)PTR_DestroyString_003a9074)()" (call_expression "(undefined1  [4])(*(code *)PTR_DestroyString_003a9074)" (parenthesized_expression "(undefined1  [4])" ( (subscript_expression "undefined1  [4]" identifier [ number_literal ]) )) (argument_list "(*(code *)PTR_DestroyString_003a9074)" ( (pointer_expression "*(code *)PTR_DestroyString_003a9074" * (cast_expression "(code *)PTR_DestroyString_003a9074" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) (argument_list "()" ( )))) ;) })) (expression_statement "uVar20 = 400;" (assignment_expression "uVar20 = 400" identifier = number_literal) ;) (expression_statement "puVar17 = PTR_s_courses_003a88ec + -400;" (assignment_expression "puVar17 = PTR_s_courses_003a88ec + -400" identifier = (binary_expression "PTR_s_courses_003a88ec + -400" identifier + number_literal)) ;) (goto_statement "goto LAB_00224c3c;" goto statement_identifier ;) }))) })))) }) while (parenthesized_expression "(((local_10fc == 0) || (3 < local_10ec - 1U)) ||\n            (lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0))" ( (binary_expression "((local_10fc == 0) || (3 < local_10ec - 1U)) ||\n            (lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0)" (parenthesized_expression "((local_10fc == 0) || (3 < local_10ec - 1U))" ( (binary_expression "(local_10fc == 0) || (3 < local_10ec - 1U)" (parenthesized_expression "(local_10fc == 0)" ( (binary_expression "local_10fc == 0" identifier == number_literal) )) || (parenthesized_expression "(3 < local_10ec - 1U)" ( (binary_expression "3 < local_10ec - 1U" number_literal < (binary_expression "local_10ec - 1U" identifier - number_literal)) ))) )) || (parenthesized_expression "(lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0)" ( (comma_expression "lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0" (assignment_expression "lVar33 = (longlong)local_10f4 * (longlong)local_10f0" identifier = (binary_expression "(longlong)local_10f4 * (longlong)local_10f0" (cast_expression "(longlong)local_10f4" ( (type_descriptor "longlong" type_identifier) ) identifier) * (cast_expression "(longlong)local_10f0" ( (type_descriptor "longlong" type_identifier) ) identifier))) , (comma_expression "uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0" (assignment_expression "uVar22 = local_10fc" identifier = identifier) , (comma_expression "iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0" (assignment_expression "iVar7 = local_10f4" identifier = identifier) , (comma_expression "iVar10 = local_10f0, lVar33 == 0" (assignment_expression "iVar10 = local_10f0" identifier = identifier) , (binary_expression "lVar33 == 0" identifier == number_literal))))) ))) )) ;) (expression_statement "local_1144 = iVar10;" (assignment_expression "local_1144 = iVar10" identifier = identifier) ;) (expression_statement "local_1148 = iVar7;" (assignment_expression "local_1148 = iVar7" identifier = identifier) ;) (expression_statement "local_10fc = uVar22;" (assignment_expression "local_10fc = uVar22" identifier = identifier) ;) (expression_statement "local_10f4 = local_1148;" (assignment_expression "local_10f4 = local_1148" identifier = identifier) ;) (expression_statement "local_10f0 = local_1144;" (assignment_expression "local_10f0 = local_1144" identifier = identifier) ;) (if_statement "if (local_110c != (undefined1  [4])0x0) {\n      (*(code *)PTR_SetImageProperty_003a9534)\n                (iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)\n      ;\n      local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c);\n    }" if (parenthesized_expression "(local_110c != (undefined1  [4])0x0)" ( (binary_expression "local_110c != (undefined1  [4])0x0" identifier != (cast_expression "(undefined1  [4])0x0" ( (type_descriptor "undefined1  [4]" type_identifier (abstract_array_declarator "[4]" [ number_literal ])) ) number_literal)) )) (compound_statement "{\n      (*(code *)PTR_SetImageProperty_003a9534)\n                (iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)\n      ;\n      local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c);\n    }" { (expression_statement "(*(code *)PTR_SetImageProperty_003a9534)\n                (iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)\n      ;" (call_expression "(*(code *)PTR_SetImageProperty_003a9534)\n                (iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)" (parenthesized_expression "(*(code *)PTR_SetImageProperty_003a9534)" ( (pointer_expression "*(code *)PTR_SetImageProperty_003a9534" * (cast_expression "(code *)PTR_SetImageProperty_003a9534" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)" ( identifier , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c);" (assignment_expression "local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c)" identifier = (call_expression "(undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c)" (call_expression "(undefined1  [4])(*(code *)PTR_DestroyString_003a9074)" (parenthesized_expression "(undefined1  [4])" ( (subscript_expression "undefined1  [4]" identifier [ number_literal ]) )) (argument_list "(*(code *)PTR_DestroyString_003a9074)" ( (pointer_expression "*(code *)PTR_DestroyString_003a9074" * (cast_expression "(code *)PTR_DestroyString_003a9074" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) (argument_list "(local_110c)" ( identifier )))) ;) })) (expression_statement "iVar7 = (int)lVar33;" (assignment_expression "iVar7 = (int)lVar33" identifier = (cast_expression "(int)lVar33" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "lVar31 = CONCAT44(iVar7,puVar8);" (assignment_expression "lVar31 = CONCAT44(iVar7,puVar8)" identifier = (call_expression "CONCAT44(iVar7,puVar8)" identifier (argument_list "(iVar7,puVar8)" ( identifier , identifier )))) ;) (expression_statement "iVar10 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);" (assignment_expression "iVar10 = (*(code *)PTR_EOFBlob_003a9748)(iVar6)" identifier = (call_expression "(*(code *)PTR_EOFBlob_003a9748)(iVar6)" (parenthesized_expression "(*(code *)PTR_EOFBlob_003a9748)" ( (pointer_expression "*(code *)PTR_EOFBlob_003a9748" * (cast_expression "(code *)PTR_EOFBlob_003a9748" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (if_statement "if (iVar10 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\n    }" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\n    }" { (expression_statement "puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_003a99b0)()" (parenthesized_expression "(*(code *)PTR___errno_location_003a99b0)" ( (pointer_expression "*(code *)PTR___errno_location_003a99b0" * (cast_expression "(code *)PTR___errno_location_003a99b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);" (assignment_expression "uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14)" identifier = (call_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14)" (parenthesized_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)" ( (pointer_expression "*(code *)PTR_GetExceptionMessage_003a93ec" * (cast_expression "(code *)PTR_GetExceptionMessage_003a93ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar14)" ( (pointer_expression "*puVar14" * identifier) )))) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20)" (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_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xe40" identifier + number_literal) , (binary_expression "PTR_UINT_003a8950 + -0xc70" identifier + number_literal) , number_literal , number_literal , (binary_expression "PTR_s_courses_003a88ec + -0x17c" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0xe78" identifier + number_literal) , (binary_expression "iVar6 + 0x340" identifier + number_literal) , identifier ))) ;) (expression_statement "(*(code *)PTR_DestroyString_003a9074)(uVar20);" (call_expression "(*(code *)PTR_DestroyString_003a9074)(uVar20)" (parenthesized_expression "(*(code *)PTR_DestroyString_003a9074)" ( (pointer_expression "*(code *)PTR_DestroyString_003a9074" * (cast_expression "(code *)PTR_DestroyString_003a9074" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar20)" ( identifier ))) ;) })) (if_statement "if (((uVar22 != 0) && (local_10ec - 1U < 4)) && (lVar33 != 0)) {\n      local_1138 = local_10e8;\n      if (0 < (int)local_10e8) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = local_10f8;\n        local_1124 = local_10c0;\n        puVar8 = local_10f8;\n        if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }\n        iVar7 = -1;\n        if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }\n        puVar8 = puVar8 + -1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar11 = 2 << ((uint)puVar8 & 0x1f);\n        local_1128 = iVar7 * (int)local_10f8;\n        uVar13 = uVar11;\n        uVar22 = 1 >> (~(uint)puVar8 & 0x1f);\n        if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar13 - 1;\n        local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);\n        goto LAB_00224900;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224e60;\n    }" if (parenthesized_expression "(((uVar22 != 0) && (local_10ec - 1U < 4)) && (lVar33 != 0))" ( (binary_expression "((uVar22 != 0) && (local_10ec - 1U < 4)) && (lVar33 != 0)" (parenthesized_expression "((uVar22 != 0) && (local_10ec - 1U < 4))" ( (binary_expression "(uVar22 != 0) && (local_10ec - 1U < 4)" (parenthesized_expression "(uVar22 != 0)" ( (binary_expression "uVar22 != 0" identifier != number_literal) )) && (parenthesized_expression "(local_10ec - 1U < 4)" ( (binary_expression "local_10ec - 1U < 4" (binary_expression "local_10ec - 1U" identifier - number_literal) < number_literal) ))) )) && (parenthesized_expression "(lVar33 != 0)" ( (binary_expression "lVar33 != 0" identifier != number_literal) ))) )) (compound_statement "{\n      local_1138 = local_10e8;\n      if (0 < (int)local_10e8) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = local_10f8;\n        local_1124 = local_10c0;\n        puVar8 = local_10f8;\n        if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }\n        iVar7 = -1;\n        if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }\n        puVar8 = puVar8 + -1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar11 = 2 << ((uint)puVar8 & 0x1f);\n        local_1128 = iVar7 * (int)local_10f8;\n        uVar13 = uVar11;\n        uVar22 = 1 >> (~(uint)puVar8 & 0x1f);\n        if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar13 - 1;\n        local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);\n        goto LAB_00224900;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224e60;\n    }" { (expression_statement "local_1138 = local_10e8;" (assignment_expression "local_1138 = local_10e8" identifier = identifier) ;) (if_statement "if (0 < (int)local_10e8) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = local_10f8;\n        local_1124 = local_10c0;\n        puVar8 = local_10f8;\n        if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }\n        iVar7 = -1;\n        if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }\n        puVar8 = puVar8 + -1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar11 = 2 << ((uint)puVar8 & 0x1f);\n        local_1128 = iVar7 * (int)local_10f8;\n        uVar13 = uVar11;\n        uVar22 = 1 >> (~(uint)puVar8 & 0x1f);\n        if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar13 - 1;\n        local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);\n        goto LAB_00224900;\n      }" if (parenthesized_expression "(0 < (int)local_10e8)" ( (binary_expression "0 < (int)local_10e8" number_literal < (cast_expression "(int)local_10e8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        local_1154 = (undefined *)0x0;\n        local_1158 = local_10f8;\n        local_1124 = local_10c0;\n        puVar8 = local_10f8;\n        if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }\n        iVar7 = -1;\n        if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }\n        puVar8 = puVar8 + -1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar11 = 2 << ((uint)puVar8 & 0x1f);\n        local_1128 = iVar7 * (int)local_10f8;\n        uVar13 = uVar11;\n        uVar22 = 1 >> (~(uint)puVar8 & 0x1f);\n        if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar13 - 1;\n        local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);\n        goto LAB_00224900;\n      }" { (expression_statement "local_1154 = (undefined *)0x0;" (assignment_expression "local_1154 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_1158 = local_10f8;" (assignment_expression "local_1158 = local_10f8" identifier = identifier) ;) (expression_statement "local_1124 = local_10c0;" (assignment_expression "local_1124 = local_10c0" identifier = identifier) ;) (expression_statement "puVar8 = local_10f8;" (assignment_expression "puVar8 = local_10f8" identifier = identifier) ;) (if_statement "if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }" if (parenthesized_expression "((undefined1 *)0x40 < local_10f8)" ( (binary_expression "(undefined1 *)0x40 < local_10f8" (cast_expression "(undefined1 *)0x40" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n          puVar8 = (undefined1 *)0x0;\n        }" { (expression_statement "puVar8 = (undefined1 *)0x0;" (assignment_expression "puVar8 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "iVar7 = -1;" (assignment_expression "iVar7 = -1" identifier = number_literal) ;) (if_statement "if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }" if (parenthesized_expression "(-1 < (int)local_10f8)" ( (binary_expression "-1 < (int)local_10f8" number_literal < (cast_expression "(int)local_10f8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          iVar7 = 1;\n        }" { (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;) })) (expression_statement "puVar8 = puVar8 + -1;" (assignment_expression "puVar8 = puVar8 + -1" identifier = (binary_expression "puVar8 + -1" identifier + number_literal)) ;) (expression_statement "local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);" (assignment_expression "local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78)" identifier = (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1a78)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1a78)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1a78)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1a78" identifier + number_literal) ))))) ;) (expression_statement "in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);" (assignment_expression "in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8)" identifier = (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x13f8)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x13f8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x13f8)" ( (binary_expression "PTR_LAB_003a88e0 + 0x13f8" identifier + number_literal) ))))) ;) (expression_statement "in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);" (assignment_expression "in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58)" identifier = (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1a58)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1a58)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1a58" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = 2 << ((uint)puVar8 & 0x1f);" (assignment_expression "uVar11 = 2 << ((uint)puVar8 & 0x1f)" identifier = (binary_expression "2 << ((uint)puVar8 & 0x1f)" number_literal << (parenthesized_expression "((uint)puVar8 & 0x1f)" ( (binary_expression "(uint)puVar8 & 0x1f" (cast_expression "(uint)puVar8" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "local_1128 = iVar7 * (int)local_10f8;" (assignment_expression "local_1128 = iVar7 * (int)local_10f8" identifier = (binary_expression "iVar7 * (int)local_10f8" identifier * (cast_expression "(int)local_10f8" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = uVar11;" (assignment_expression "uVar13 = uVar11" identifier = identifier) ;) (expression_statement "uVar22 = 1 >> (~(uint)puVar8 & 0x1f);" (assignment_expression "uVar22 = 1 >> (~(uint)puVar8 & 0x1f)" identifier = (binary_expression "1 >> (~(uint)puVar8 & 0x1f)" number_literal >> (parenthesized_expression "(~(uint)puVar8 & 0x1f)" ( (binary_expression "~(uint)puVar8 & 0x1f" (unary_expression "~(uint)puVar8" ~ (cast_expression "(uint)puVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) & number_literal) )))) ;) (if_statement "if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }" if (parenthesized_expression "(((uint)puVar8 & 0x20) != 0)" ( (binary_expression "((uint)puVar8 & 0x20) != 0" (parenthesized_expression "((uint)puVar8 & 0x20)" ( (binary_expression "(uint)puVar8 & 0x20" (cast_expression "(uint)puVar8" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "uVar22 = uVar11;" (assignment_expression "uVar22 = uVar11" identifier = identifier) ;) })) (expression_statement "local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;" (assignment_expression "local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0" identifier = (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0" identifier + number_literal)) ;) (expression_statement "local_111c = uVar13 - 1;" (assignment_expression "local_111c = uVar13 - 1" identifier = (binary_expression "uVar13 - 1" identifier - number_literal)) ;) (expression_statement "local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);" (assignment_expression "local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1)" identifier = (binary_expression "(uint)(local_111c < uVar13) + (uVar22 - 1)" (call_expression "(uint)(local_111c < uVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_111c < uVar13)" ( (binary_expression "local_111c < uVar13" identifier < identifier) ))) + (parenthesized_expression "(uVar22 - 1)" ( (binary_expression "uVar22 - 1" identifier - number_literal) )))) ;) (goto_statement "goto LAB_00224900;" goto statement_identifier ;) })) (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(iVar6);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(iVar6)" (parenthesized_expression "(*(code *)PTR_CloseBlob_003a9688)" ( (pointer_expression "*(code *)PTR_CloseBlob_003a9688" * (cast_expression "(code *)PTR_CloseBlob_003a9688" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))) ;) (goto_statement "goto LAB_00224e60;" goto statement_identifier ;) })) (expression_statement "uVar20 = 0x1a5;" (assignment_expression "uVar20 = 0x1a5" identifier = number_literal) ;) (expression_statement "puVar17 = PTR_UINT_003a8950 + -0x2c10;" (assignment_expression "puVar17 = PTR_UINT_003a8950 + -0x2c10" identifier = (binary_expression "PTR_UINT_003a8950 + -0x2c10" identifier + number_literal)) ;) (labeled_statement "LAB_00224c3c:\n    lVar31 = CONCAT44(iVar7,puVar8);" statement_identifier : (expression_statement "lVar31 = CONCAT44(iVar7,puVar8);" (assignment_expression "lVar31 = CONCAT44(iVar7,puVar8)" identifier = (call_expression "CONCAT44(iVar7,puVar8)" identifier (argument_list "(iVar7,puVar8)" ( identifier , identifier )))) ;)) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar20,0x1a9,puVar17,\n               PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x2210);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar20,0x1a9,puVar17,\n               PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x2210)" (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_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar20,0x1a9,puVar17,\n               PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x2210)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xe40" identifier + number_literal) , (binary_expression "PTR_UINT_003a8950 + -0xc70" identifier + number_literal) , identifier , number_literal , identifier , (binary_expression "PTR_LAB_003a88e0 + 0x3e28" identifier + number_literal) , (binary_expression "param_1 + 0x2210" identifier + number_literal) ))) ;) (if_statement "if (iVar6 != 0) {\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    }" { (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(iVar6);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(iVar6)" (parenthesized_expression "(*(code *)PTR_CloseBlob_003a9688)" ( (pointer_expression "*(code *)PTR_CloseBlob_003a9688" * (cast_expression "(code *)PTR_CloseBlob_003a9688" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_DestroyImageList_003a9510)(iVar6);" (call_expression "(*(code *)PTR_DestroyImageList_003a9510)(iVar6)" (parenthesized_expression "(*(code *)PTR_DestroyImageList_003a9510)" ( (pointer_expression "*(code *)PTR_DestroyImageList_003a9510" * (cast_expression "(code *)PTR_DestroyImageList_003a9510" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))) ;) })) (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (expression_statement "dVar26 = in_f22_23;" (assignment_expression "dVar26 = in_f22_23" identifier = identifier) ;) }))) (labeled_statement "LAB_00224c7c:\n  uVar2 = (ulonglong)lVar31 >> 0x20;" statement_identifier : (expression_statement "uVar2 = (ulonglong)lVar31 >> 0x20;" (assignment_expression "uVar2 = (ulonglong)lVar31 >> 0x20" identifier = (binary_expression "(ulonglong)lVar31 >> 0x20" (cast_expression "(ulonglong)lVar31" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal)) ;)) (if_statement "if (local_5c == *(int *)puVar4) {\n    return uVar20;\n  }" if (parenthesized_expression "(local_5c == *(int *)puVar4)" ( (binary_expression "local_5c == *(int *)puVar4" identifier == (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return uVar20;\n  }" { (return_statement "return uVar20;" return identifier ;) })) (expression_statement "uVar20 = (*(code *)PTR___stack_chk_fail_003a9064)();" (assignment_expression "uVar20 = (*(code *)PTR___stack_chk_fail_003a9064)()" identifier = (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 "lVar31 = CONCAT44(uVar20,(int)lVar31);" (assignment_expression "lVar31 = CONCAT44(uVar20,(int)lVar31)" identifier = (call_expression "CONCAT44(uVar20,(int)lVar31)" identifier (argument_list "(uVar20,(int)lVar31)" ( identifier , (cast_expression "(int)lVar31" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (expression_statement "uVar20 = (int)uVar2;" (assignment_expression "uVar20 = (int)uVar2" identifier = (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (labeled_statement "LAB_002252f8:\n  uVar2 = (ulonglong)lVar31 >> 0x20;" statement_identifier : (expression_statement "uVar2 = (ulonglong)lVar31 >> 0x20;" (assignment_expression "uVar2 = (ulonglong)lVar31 >> 0x20" identifier = (binary_expression "(ulonglong)lVar31 >> 0x20" (cast_expression "(ulonglong)lVar31" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal)) ;)) (expression_statement "lVar31 = CONCAT44(uVar20,(int)lVar31);" (assignment_expression "lVar31 = CONCAT44(uVar20,(int)lVar31)" identifier = (call_expression "CONCAT44(uVar20,(int)lVar31)" identifier (argument_list "(uVar20,(int)lVar31)" ( identifier , (cast_expression "(int)lVar31" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (expression_statement "in_f22_23 = dVar26;" (assignment_expression "in_f22_23 = dVar26" identifier = identifier) ;) (if_statement "if (((int)uVar2 == 0) && (bVar1 = 1 < local_1160._4_4_, bVar1)) goto LAB_00225060;" if (parenthesized_expression "(((int)uVar2 == 0) && (bVar1 = 1 < local_1160._4_4_, bVar1))" ( (binary_expression "((int)uVar2 == 0) && (bVar1 = 1 < local_1160._4_4_, bVar1)" (parenthesized_expression "((int)uVar2 == 0)" ( (binary_expression "(int)uVar2 == 0" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) && (parenthesized_expression "(bVar1 = 1 < local_1160._4_4_, bVar1)" ( (comma_expression "bVar1 = 1 < local_1160._4_4_, bVar1" (assignment_expression "bVar1 = 1 < local_1160._4_4_" identifier = (binary_expression "1 < local_1160._4_4_" number_literal < (field_expression "local_1160._4_4_" identifier . field_identifier))) , identifier) ))) )) (goto_statement "goto LAB_00225060;" goto statement_identifier ;)) (labeled_statement "LAB_0022511c:\n  (*(code *)PTR_SeekBlob_003a9328)(iVar6);" statement_identifier : (expression_statement "(*(code *)PTR_SeekBlob_003a9328)(iVar6);" (call_expression "(*(code *)PTR_SeekBlob_003a9328)(iVar6)" (parenthesized_expression "(*(code *)PTR_SeekBlob_003a9328)" ( (pointer_expression "*(code *)PTR_SeekBlob_003a9328" * (cast_expression "(code *)PTR_SeekBlob_003a9328" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))) ;)) (expression_statement "dVar28 = local_10d8;" (assignment_expression "dVar28 = local_10d8" identifier = identifier) ;) (labeled_statement "LAB_002249f4:\n  local_10d8 = dVar28;" statement_identifier : (expression_statement "local_10d8 = dVar28;" (assignment_expression "local_10d8 = dVar28" identifier = identifier) ;)) (expression_statement "dVar26 = dVar26 - in_f22_23;" (assignment_expression "dVar26 = dVar26 - in_f22_23" identifier = (binary_expression "dVar26 - in_f22_23" identifier - identifier)) ;) (do_statement "do {\n    iVar7 = (int)((ulonglong)lVar31 >> 0x20);\n    local_1140 = (uint)((ulonglong)dVar26 >> 0x20);\n    if (0.0 <= dVar26) {\n      dVar28 = *(double *)(local_1134 + 0x1438);\n    }\n    else {\n      local_1140 = local_1140 ^ 0x80000000;\n      dVar28 = local_1118;\n    }\n    if (in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar26,0))) {\n      dVar28 = *(double *)(local_1134 + 0x1438) / dVar26;\n    }\n    else {\n      dVar28 = dVar28 / in_f28_29;\n    }\n    uVar22 = *(int *)(iVar6 + 0x1c) - 1;\n    dVar28 = dVar28 * in_f30_31;\n    if (-1 < (int)uVar22) {\n      local_1160 = CONCAT44((int)uVar22 >> 0x1f,local_1160._4_4_);\n      uVar13 = uVar22;\n      while( true ) {\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2);\n        if (iVar10 == 0) break;\n        if (0 < *(int *)(iVar6 + 0x18)) {\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2);\n        if ((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))) break;\n        uVar22 = uVar22 - 1;\n        iVar7 = local_1160._0_4_ + -1;\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_);\n        uVar13 = uVar13 - 1;\n        if (uVar22 == 0xffffffff) break;\n      }\n    }\n    iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n    if (iVar7 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\nLAB_00224e4c:\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      if (local_114c == 0) {\nLAB_00224fc0:\n        uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      else {\nLAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      goto LAB_00224c7c;\n    }\n    if ((*(int *)(param_1 + 0x2c) != 0) &&\n       ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= *(uint *)(iVar6 + 0x26c)))\n    goto LAB_00224e4c;\n    if ((int)local_1154 < (int)(local_1138 + -1)) {\n      (*(code *)PTR_AcquireNextImage_003a8f90)(param_1,iVar6,param_2);\n      iVar7 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar6);\n      if (iVar7 != 0) {\n        iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6);\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32);\n        if (local_114c != 0) goto LAB_00224e34;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224fc0;\n    }\nLAB_00224e34:\n    local_1154 = local_1154 + 1;\n    if (local_1154 == local_1138) goto LAB_00224e4c;\nLAB_00224900:\n    iVar7 = *(int *)(param_1 + 0x1dc);\n    *(int *)(iVar6 + 0x18) = local_1148;\n    *(int *)(iVar6 + 0x1c) = local_1144;\n    *(int *)(iVar6 + 0x20) = local_1128;\n    *(undefined4 *)(iVar6 + 0x25c) = local_1124;\n    *(undefined **)(iVar6 + 0x26c) = local_1154;\n    if (((iVar7 != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n       ((undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1) <= local_1154))\n    goto LAB_00224e4c;\n    local_114c = (*(code *)PTR_SetImageExtent_003a94ac)(iVar6,local_1148,local_1144,param_2);\n    if (local_114c == 0) goto LAB_00224fc0;\n    (*(code *)PTR_SetImageColorspace_003a8d40)(iVar6,3,param_2);\n    in_f22_23 = local_10e0;\n    if ((local_10e0 != 0.0) || (local_10d8 != 0.0)) {\n      if (local_1158 != (undefined1 *)0x0) goto LAB_002249dc;\n      dVar26 = 0.0;\n      dVar28 = dVar26;\n      goto LAB_002249f4;\n    }\n    if (((uint)local_1158 & 0xffffffdf) != 0xffffffc0) break;\n    dVar26 = local_10d8;\n    lVar33 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n    if (lVar33 != -1) {\n      lVar31 = (ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)*(uint *)(iVar6 + 0x1c);\n      uVar22 = *(uint *)(iVar6 + 0x20) >> 3;\n      if (uVar22 == 2) {\n        sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n        dVar26 = (double)(int)sVar15;\n      }\n      else if (uVar22 == 4) {\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }\n      else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }\n      local_1160._0_4_ = (int)((ulonglong)lVar31 >> 0x20);\n      uVar20 = local_1160._0_4_;\n      local_1160 = lVar31;\n      local_10e0 = dVar26;\n      local_10d8 = dVar26;\n      if (0xffffffff < lVar31) goto LAB_00225060;\n      goto LAB_002252f8;\n    }\n    dVar26 = dVar26 - in_f22_23;\n  } while( true );" do (compound_statement "{\n    iVar7 = (int)((ulonglong)lVar31 >> 0x20);\n    local_1140 = (uint)((ulonglong)dVar26 >> 0x20);\n    if (0.0 <= dVar26) {\n      dVar28 = *(double *)(local_1134 + 0x1438);\n    }\n    else {\n      local_1140 = local_1140 ^ 0x80000000;\n      dVar28 = local_1118;\n    }\n    if (in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar26,0))) {\n      dVar28 = *(double *)(local_1134 + 0x1438) / dVar26;\n    }\n    else {\n      dVar28 = dVar28 / in_f28_29;\n    }\n    uVar22 = *(int *)(iVar6 + 0x1c) - 1;\n    dVar28 = dVar28 * in_f30_31;\n    if (-1 < (int)uVar22) {\n      local_1160 = CONCAT44((int)uVar22 >> 0x1f,local_1160._4_4_);\n      uVar13 = uVar22;\n      while( true ) {\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2);\n        if (iVar10 == 0) break;\n        if (0 < *(int *)(iVar6 + 0x18)) {\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2);\n        if ((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))) break;\n        uVar22 = uVar22 - 1;\n        iVar7 = local_1160._0_4_ + -1;\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_);\n        uVar13 = uVar13 - 1;\n        if (uVar22 == 0xffffffff) break;\n      }\n    }\n    iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n    if (iVar7 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\nLAB_00224e4c:\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      if (local_114c == 0) {\nLAB_00224fc0:\n        uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      else {\nLAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      goto LAB_00224c7c;\n    }\n    if ((*(int *)(param_1 + 0x2c) != 0) &&\n       ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= *(uint *)(iVar6 + 0x26c)))\n    goto LAB_00224e4c;\n    if ((int)local_1154 < (int)(local_1138 + -1)) {\n      (*(code *)PTR_AcquireNextImage_003a8f90)(param_1,iVar6,param_2);\n      iVar7 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar6);\n      if (iVar7 != 0) {\n        iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6);\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32);\n        if (local_114c != 0) goto LAB_00224e34;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224fc0;\n    }\nLAB_00224e34:\n    local_1154 = local_1154 + 1;\n    if (local_1154 == local_1138) goto LAB_00224e4c;\nLAB_00224900:\n    iVar7 = *(int *)(param_1 + 0x1dc);\n    *(int *)(iVar6 + 0x18) = local_1148;\n    *(int *)(iVar6 + 0x1c) = local_1144;\n    *(int *)(iVar6 + 0x20) = local_1128;\n    *(undefined4 *)(iVar6 + 0x25c) = local_1124;\n    *(undefined **)(iVar6 + 0x26c) = local_1154;\n    if (((iVar7 != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n       ((undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1) <= local_1154))\n    goto LAB_00224e4c;\n    local_114c = (*(code *)PTR_SetImageExtent_003a94ac)(iVar6,local_1148,local_1144,param_2);\n    if (local_114c == 0) goto LAB_00224fc0;\n    (*(code *)PTR_SetImageColorspace_003a8d40)(iVar6,3,param_2);\n    in_f22_23 = local_10e0;\n    if ((local_10e0 != 0.0) || (local_10d8 != 0.0)) {\n      if (local_1158 != (undefined1 *)0x0) goto LAB_002249dc;\n      dVar26 = 0.0;\n      dVar28 = dVar26;\n      goto LAB_002249f4;\n    }\n    if (((uint)local_1158 & 0xffffffdf) != 0xffffffc0) break;\n    dVar26 = local_10d8;\n    lVar33 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n    if (lVar33 != -1) {\n      lVar31 = (ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)*(uint *)(iVar6 + 0x1c);\n      uVar22 = *(uint *)(iVar6 + 0x20) >> 3;\n      if (uVar22 == 2) {\n        sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n        dVar26 = (double)(int)sVar15;\n      }\n      else if (uVar22 == 4) {\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }\n      else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }\n      local_1160._0_4_ = (int)((ulonglong)lVar31 >> 0x20);\n      uVar20 = local_1160._0_4_;\n      local_1160 = lVar31;\n      local_10e0 = dVar26;\n      local_10d8 = dVar26;\n      if (0xffffffff < lVar31) goto LAB_00225060;\n      goto LAB_002252f8;\n    }\n    dVar26 = dVar26 - in_f22_23;\n  }" { (expression_statement "iVar7 = (int)((ulonglong)lVar31 >> 0x20);" (assignment_expression "iVar7 = (int)((ulonglong)lVar31 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)lVar31 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar31 >> 0x20)" ( (binary_expression "(ulonglong)lVar31 >> 0x20" (cast_expression "(ulonglong)lVar31" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_1140 = (uint)((ulonglong)dVar26 >> 0x20);" (assignment_expression "local_1140 = (uint)((ulonglong)dVar26 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)dVar26 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)dVar26 >> 0x20)" ( (binary_expression "(ulonglong)dVar26 >> 0x20" (cast_expression "(ulonglong)dVar26" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (0.0 <= dVar26) {\n      dVar28 = *(double *)(local_1134 + 0x1438);\n    }\n    else {\n      local_1140 = local_1140 ^ 0x80000000;\n      dVar28 = local_1118;\n    }" if (parenthesized_expression "(0.0 <= dVar26)" ( (binary_expression "0.0 <= dVar26" number_literal <= identifier) )) (compound_statement "{\n      dVar28 = *(double *)(local_1134 + 0x1438);\n    }" { (expression_statement "dVar28 = *(double *)(local_1134 + 0x1438);" (assignment_expression "dVar28 = *(double *)(local_1134 + 0x1438)" identifier = (pointer_expression "*(double *)(local_1134 + 0x1438)" * (cast_expression "(double *)(local_1134 + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_1134 + 0x1438)" ( (binary_expression "local_1134 + 0x1438" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      local_1140 = local_1140 ^ 0x80000000;\n      dVar28 = local_1118;\n    }" else (compound_statement "{\n      local_1140 = local_1140 ^ 0x80000000;\n      dVar28 = local_1118;\n    }" { (expression_statement "local_1140 = local_1140 ^ 0x80000000;" (assignment_expression "local_1140 = local_1140 ^ 0x80000000" identifier = (binary_expression "local_1140 ^ 0x80000000" identifier ^ number_literal)) ;) (expression_statement "dVar28 = local_1118;" (assignment_expression "dVar28 = local_1118" identifier = identifier) ;) }))) (if_statement "if (in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar26,0))) {\n      dVar28 = *(double *)(local_1134 + 0x1438) / dVar26;\n    }\n    else {\n      dVar28 = dVar28 / in_f28_29;\n    }" if (parenthesized_expression "(in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar26,0)))" ( (binary_expression "in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar26,0))" identifier <= (cast_expression "(double)CONCAT44(local_1140,SUB84(dVar26,0))" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(local_1140,SUB84(dVar26,0))" identifier (argument_list "(local_1140,SUB84(dVar26,0))" ( identifier , (call_expression "SUB84(dVar26,0)" identifier (argument_list "(dVar26,0)" ( identifier , number_literal ))) ))))) )) (compound_statement "{\n      dVar28 = *(double *)(local_1134 + 0x1438) / dVar26;\n    }" { (expression_statement "dVar28 = *(double *)(local_1134 + 0x1438) / dVar26;" (assignment_expression "dVar28 = *(double *)(local_1134 + 0x1438) / dVar26" identifier = (binary_expression "*(double *)(local_1134 + 0x1438) / dVar26" (pointer_expression "*(double *)(local_1134 + 0x1438)" * (cast_expression "(double *)(local_1134 + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_1134 + 0x1438)" ( (binary_expression "local_1134 + 0x1438" identifier + number_literal) )))) / identifier)) ;) }) (else_clause "else {\n      dVar28 = dVar28 / in_f28_29;\n    }" else (compound_statement "{\n      dVar28 = dVar28 / in_f28_29;\n    }" { (expression_statement "dVar28 = dVar28 / in_f28_29;" (assignment_expression "dVar28 = dVar28 / in_f28_29" identifier = (binary_expression "dVar28 / in_f28_29" identifier / identifier)) ;) }))) (expression_statement "uVar22 = *(int *)(iVar6 + 0x1c) - 1;" (assignment_expression "uVar22 = *(int *)(iVar6 + 0x1c) - 1" identifier = (binary_expression "*(int *)(iVar6 + 0x1c) - 1" (pointer_expression "*(int *)(iVar6 + 0x1c)" * (cast_expression "(int *)(iVar6 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x1c)" ( (binary_expression "iVar6 + 0x1c" identifier + number_literal) )))) - number_literal)) ;) (expression_statement "dVar28 = dVar28 * in_f30_31;" (assignment_expression "dVar28 = dVar28 * in_f30_31" identifier = (binary_expression "dVar28 * in_f30_31" identifier * identifier)) ;) (if_statement "if (-1 < (int)uVar22) {\n      local_1160 = CONCAT44((int)uVar22 >> 0x1f,local_1160._4_4_);\n      uVar13 = uVar22;\n      while( true ) {\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2);\n        if (iVar10 == 0) break;\n        if (0 < *(int *)(iVar6 + 0x18)) {\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2);\n        if ((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))) break;\n        uVar22 = uVar22 - 1;\n        iVar7 = local_1160._0_4_ + -1;\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_);\n        uVar13 = uVar13 - 1;\n        if (uVar22 == 0xffffffff) break;\n      }\n    }" if (parenthesized_expression "(-1 < (int)uVar22)" ( (binary_expression "-1 < (int)uVar22" number_literal < (cast_expression "(int)uVar22" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      local_1160 = CONCAT44((int)uVar22 >> 0x1f,local_1160._4_4_);\n      uVar13 = uVar22;\n      while( true ) {\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2);\n        if (iVar10 == 0) break;\n        if (0 < *(int *)(iVar6 + 0x18)) {\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2);\n        if ((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))) break;\n        uVar22 = uVar22 - 1;\n        iVar7 = local_1160._0_4_ + -1;\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_);\n        uVar13 = uVar13 - 1;\n        if (uVar22 == 0xffffffff) break;\n      }\n    }" { (expression_statement "local_1160 = CONCAT44((int)uVar22 >> 0x1f,local_1160._4_4_);" (assignment_expression "local_1160 = CONCAT44((int)uVar22 >> 0x1f,local_1160._4_4_)" identifier = (call_expression "CONCAT44((int)uVar22 >> 0x1f,local_1160._4_4_)" identifier (argument_list "((int)uVar22 >> 0x1f,local_1160._4_4_)" ( (binary_expression "(int)uVar22 >> 0x1f" (cast_expression "(int)uVar22" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) , (field_expression "local_1160._4_4_" identifier . field_identifier) )))) ;) (expression_statement "uVar13 = uVar22;" (assignment_expression "uVar13 = uVar22" identifier = identifier) ;) (while_statement "while( true ) {\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2);\n        if (iVar10 == 0) break;\n        if (0 < *(int *)(iVar6 + 0x18)) {\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2);\n        if ((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))) break;\n        uVar22 = uVar22 - 1;\n        iVar7 = local_1160._0_4_ + -1;\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_);\n        uVar13 = uVar13 - 1;\n        if (uVar22 == 0xffffffff) break;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2);\n        if (iVar10 == 0) break;\n        if (0 < *(int *)(iVar6 + 0x18)) {\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2);\n        if ((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))) break;\n        uVar22 = uVar22 - 1;\n        iVar7 = local_1160._0_4_ + -1;\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_);\n        uVar13 = uVar13 - 1;\n        if (uVar22 == 0xffffffff) break;\n      }" { (expression_statement "lVar31 = CONCAT44(iVar7,&local_1108);" (assignment_expression "lVar31 = CONCAT44(iVar7,&local_1108)" identifier = (call_expression "CONCAT44(iVar7,&local_1108)" identifier (argument_list "(iVar7,&local_1108)" ( identifier , (pointer_expression "&local_1108" & identifier) )))) ;) (expression_statement "iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2);" (assignment_expression "iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2)" identifier = (call_expression "(*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2)" (parenthesized_expression "(*(code *)PTR_QueueAuthenticPixels_003a8f24)" ( (pointer_expression "*(code *)PTR_QueueAuthenticPixels_003a8f24" * (cast_expression "(code *)PTR_QueueAuthenticPixels_003a8f24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2)" ( identifier , number_literal , identifier , (pointer_expression "*(undefined4 *)(iVar6 + 0x18)" * (cast_expression "(undefined4 *)(iVar6 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) )))) , number_literal , identifier )))) ;) (if_statement "if (iVar10 == 0) break;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (0 < *(int *)(iVar6 + 0x18)) {\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }" if (parenthesized_expression "(0 < *(int *)(iVar6 + 0x18))" ( (binary_expression "0 < *(int *)(iVar6 + 0x18)" number_literal < (pointer_expression "*(int *)(iVar6 + 0x18)" * (cast_expression "(int *)(iVar6 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "uVar11 = *(uint *)(iVar6 + 0x20);" (assignment_expression "uVar11 = *(uint *)(iVar6 + 0x20)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x20)" * (cast_expression "(uint *)(iVar6 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x20)" ( (binary_expression "iVar6 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "dVar26 = local_10d0;" (assignment_expression "dVar26 = local_10d0" identifier = identifier) ;) (expression_statement "dVar29 = local_10c8;" (assignment_expression "dVar29 = local_10c8" identifier = identifier) ;) (do_statement "do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);" do (compound_statement "{\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          }" { (expression_statement "uVar11 = uVar11 >> 3;" (assignment_expression "uVar11 = uVar11 >> 3" identifier = (binary_expression "uVar11 >> 3" identifier >> number_literal)) ;) (if_statement "if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }" if (parenthesized_expression "(uVar11 == 2)" ( (binary_expression "uVar11 == 2" identifier == number_literal) )) (compound_statement "{\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }" { (expression_statement "sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);" (assignment_expression "sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6)" identifier = (call_expression "(*(code *)PTR_ReadBlobShort_003a8d80)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobShort_003a8d80)" ( (pointer_expression "*(code *)PTR_ReadBlobShort_003a8d80" * (cast_expression "(code *)PTR_ReadBlobShort_003a8d80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "local_1108 = (double)(int)sVar15;" (assignment_expression "local_1108 = (double)(int)sVar15" identifier = (cast_expression "(double)(int)sVar15" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)sVar15" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (labeled_statement "LAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);" statement_identifier : (expression_statement "uVar11 = *(uint *)(iVar6 + 0x20);" (assignment_expression "uVar11 = *(uint *)(iVar6 + 0x20)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x20)" * (cast_expression "(uint *)(iVar6 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x20)" ( (binary_expression "iVar6 + 0x20" identifier + number_literal) ))))) ;)) (if_statement "if (uVar11 == 0x10) goto LAB_00224b8c;" if (parenthesized_expression "(uVar11 == 0x10)" ( (binary_expression "uVar11 == 0x10" identifier == number_literal) )) (goto_statement "goto LAB_00224b8c;" goto statement_identifier ;)) (labeled_statement "LAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;" statement_identifier : (if_statement "if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;" if (parenthesized_expression "((uVar11 == 0x20) || (uVar11 == 0x40))" ( (binary_expression "(uVar11 == 0x20) || (uVar11 == 0x40)" (parenthesized_expression "(uVar11 == 0x20)" ( (binary_expression "uVar11 == 0x20" identifier == number_literal) )) || (parenthesized_expression "(uVar11 == 0x40)" ( (binary_expression "uVar11 == 0x40" identifier == number_literal) ))) )) (goto_statement "goto LAB_00224b8c;" goto statement_identifier ;))) }) (else_clause "else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }" else (compound_statement "{\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }" { (if_statement "if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }" if (parenthesized_expression "(2 < uVar11)" ( (binary_expression "2 < uVar11" number_literal < identifier) )) (compound_statement "{\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }" { (if_statement "if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }" if (parenthesized_expression "(uVar11 == 4)" ( (binary_expression "uVar11 == 4" identifier == number_literal) )) (compound_statement "{\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }" { (expression_statement "pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;" (assignment_expression "pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c" identifier = (cast_expression "(code *)PTR_ReadBlobSignedLong_003a968c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (0 < (int)local_1158) goto LAB_00224b68;" if (parenthesized_expression "(0 < (int)local_1158)" ( (binary_expression "0 < (int)local_1158" number_literal < (cast_expression "(int)local_1158" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00224b68;" goto statement_identifier ;)) (expression_statement "fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);" (assignment_expression "fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6)" identifier = (cast_expression "(float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6)" ( (type_descriptor "float" primitive_type) ) (call_expression "(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobFloat_003a8e98)" ( (pointer_expression "*(code *)PTR_ReadBlobFloat_003a8e98" * (cast_expression "(code *)PTR_ReadBlobFloat_003a8e98" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))))) ;) (expression_statement "local_1108 = (double)fVar27;" (assignment_expression "local_1108 = (double)fVar27" identifier = (cast_expression "(double)fVar27" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }" else (compound_statement "{\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }" { (if_statement "if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;" if (parenthesized_expression "((uVar11 != 8) || ((int)local_1158 < 1))" ( (binary_expression "(uVar11 != 8) || ((int)local_1158 < 1)" (parenthesized_expression "(uVar11 != 8)" ( (binary_expression "uVar11 != 8" identifier != number_literal) )) || (parenthesized_expression "((int)local_1158 < 1)" ( (binary_expression "(int)local_1158 < 1" (cast_expression "(int)local_1158" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) ))) )) (goto_statement "goto LAB_00224ad8;" goto statement_identifier ;)) (expression_statement "uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);" (assignment_expression "uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6)" identifier = (call_expression "(*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobLongLong_003a97a0)" ( (pointer_expression "*(code *)PTR_ReadBlobLongLong_003a97a0" * (cast_expression "(code *)PTR_ReadBlobLongLong_003a97a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);" (assignment_expression "local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30)" identifier = (cast_expression "(double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30)" (parenthesized_expression "(*(code *)PTR_FUN_003a8a60)" ( (pointer_expression "*(code *)PTR_FUN_003a8a60" * (cast_expression "(code *)PTR_FUN_003a8a60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((int)((ulonglong)uVar30 >> 0x20),(int)uVar30)" ( (cast_expression "(int)((ulonglong)uVar30 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar30 >> 0x20)" ( (binary_expression "(ulonglong)uVar30 >> 0x20" (cast_expression "(ulonglong)uVar30" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (cast_expression "(int)uVar30" ( (type_descriptor "int" primitive_type) ) identifier) ))))) ;) }))) (goto_statement "goto LAB_00224ae8;" goto statement_identifier ;) })) (expression_statement "pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;" (assignment_expression "pcVar25 = (code *)PTR_ReadBlobByte_003a97f0" identifier = (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }" if (parenthesized_expression "(uVar11 != 1)" ( (binary_expression "uVar11 != 1" identifier != number_literal) )) (compound_statement "{\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }" { (labeled_statement "LAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);" statement_identifier : (expression_statement "local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);" (assignment_expression "local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6)" identifier = (cast_expression "(double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobDouble_003a8c38)" ( (pointer_expression "*(code *)PTR_ReadBlobDouble_003a8c38" * (cast_expression "(code *)PTR_ReadBlobDouble_003a8c38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))))) ;)) (goto_statement "goto LAB_00224ae8;" goto statement_identifier ;) })) (labeled_statement "LAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);" statement_identifier : (expression_statement "iVar12 = (*pcVar25)(iVar6);" (assignment_expression "iVar12 = (*pcVar25)(iVar6)" identifier = (call_expression "(*pcVar25)(iVar6)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(iVar6)" ( identifier )))) ;)) (expression_statement "uVar11 = *(uint *)(iVar6 + 0x20);" (assignment_expression "uVar11 = *(uint *)(iVar6 + 0x20)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x20)" * (cast_expression "(uint *)(iVar6 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x20)" ( (binary_expression "iVar6 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "local_1108 = (double)iVar12;" (assignment_expression "local_1108 = (double)iVar12" identifier = (cast_expression "(double)iVar12" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (if_statement "if (uVar11 != 0x10) goto LAB_00224af8;" if (parenthesized_expression "(uVar11 != 0x10)" ( (binary_expression "uVar11 != 0x10" identifier != number_literal) )) (goto_statement "goto LAB_00224af8;" goto statement_identifier ;)) (labeled_statement "LAB_00224b8c:\n              pdVar19 = &local_1108;" statement_identifier : (expression_statement "pdVar19 = &local_1108;" (assignment_expression "pdVar19 = &local_1108" identifier = (pointer_expression "&local_1108" & identifier)) ;)) (if_statement "if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }" if (parenthesized_expression "(*(int *)(iVar6 + 0x25c) != 2)" ( (binary_expression "*(int *)(iVar6 + 0x25c) != 2" (pointer_expression "*(int *)(iVar6 + 0x25c)" * (cast_expression "(int *)(iVar6 + 0x25c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x25c)" ( (binary_expression "iVar6 + 0x25c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }" { (expression_statement "pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));" (assignment_expression "pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1))" identifier = (cast_expression "(double *)((int)&local_1108 + ((uVar11 >> 3) - 1))" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_1108 + ((uVar11 >> 3) - 1))" ( (binary_expression "(int)&local_1108 + ((uVar11 >> 3) - 1)" (cast_expression "(int)&local_1108" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_1108" & identifier)) + (parenthesized_expression "((uVar11 >> 3) - 1)" ( (binary_expression "(uVar11 >> 3) - 1" (parenthesized_expression "(uVar11 >> 3)" ( (binary_expression "uVar11 >> 3" identifier >> number_literal) )) - number_literal) ))) )))) ;) })) (expression_statement "*(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;" (assignment_expression "*(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80" (pointer_expression "*(byte *)pdVar19" * (cast_expression "(byte *)pdVar19" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "*(byte *)pdVar19 ^ 0x80" (pointer_expression "*(byte *)pdVar19" * (cast_expression "(byte *)pdVar19" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ^ number_literal)) ;) }))) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "iVar12 = *(int *)(iVar6 + 0x18);" (assignment_expression "iVar12 = *(int *)(iVar6 + 0x18)" identifier = (pointer_expression "*(int *)(iVar6 + 0x18)" * (cast_expression "(int *)(iVar6 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);" (assignment_expression "pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4)" identifier = (cast_expression "(float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4)" ( (binary_expression "iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4" identifier + (binary_expression "*(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4" (pointer_expression "*(int *)(*(int *)(iVar6 + 0x2d0) + 8)" * (cast_expression "(int *)(*(int *)(iVar6 + 0x2d0) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar6 + 0x2d0) + 8)" ( (binary_expression "*(int *)(iVar6 + 0x2d0) + 8" (pointer_expression "*(int *)(iVar6 + 0x2d0)" * (cast_expression "(int *)(iVar6 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x2d0)" ( (binary_expression "iVar6 + 0x2d0" identifier + number_literal) )))) + number_literal) )))) * number_literal)) )))) ;) (expression_statement "iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;" (assignment_expression "iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4" identifier = (binary_expression "iVar10 + *(int *)(iVar6 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar6 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar6 + 0x2c0)" * (cast_expression "(int *)(iVar6 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x2c0)" ( (binary_expression "iVar6 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "*pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);" (assignment_expression "*pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28)" (pointer_expression "*pfVar18" * identifier) = (cast_expression "(float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28)" ( (binary_expression "((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28" (parenthesized_expression "((local_1108 - in_f22_23) * dVar29 + dVar26)" ( (binary_expression "(local_1108 - in_f22_23) * dVar29 + dVar26" (binary_expression "(local_1108 - in_f22_23) * dVar29" (parenthesized_expression "(local_1108 - in_f22_23)" ( (binary_expression "local_1108 - in_f22_23" identifier - identifier) )) * identifier) + identifier) )) * identifier) )))) ;) }) while (parenthesized_expression "(iVar7 < iVar12)" ( (binary_expression "iVar7 < iVar12" identifier < identifier) )) ;) })) (expression_statement "lVar31 = CONCAT44(iVar7,&local_1108);" (assignment_expression "lVar31 = CONCAT44(iVar7,&local_1108)" identifier = (call_expression "CONCAT44(iVar7,&local_1108)" identifier (argument_list "(iVar7,&local_1108)" ( identifier , (pointer_expression "&local_1108" & identifier) )))) ;) (expression_statement "iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2);" (assignment_expression "iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2)" identifier = (call_expression "(*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2)" (parenthesized_expression "(*(code *)PTR_SyncAuthenticPixels_003a91e4)" ( (pointer_expression "*(code *)PTR_SyncAuthenticPixels_003a91e4" * (cast_expression "(code *)PTR_SyncAuthenticPixels_003a91e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,param_2)" ( identifier , identifier )))) ;) (if_statement "if ((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))) break;" if (parenthesized_expression "((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0))))" ( (binary_expression "(iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))" (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) || (parenthesized_expression "((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))" ( (parenthesized_expression "(*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0))" ( (binary_expression "*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)" (binary_expression "*(int *)(iVar6 + 0x3364) == 0" (pointer_expression "*(int *)(iVar6 + 0x3364)" * (cast_expression "(int *)(iVar6 + 0x3364)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x3364)" ( (binary_expression "iVar6 + 0x3364" identifier + number_literal) )))) == number_literal) && (parenthesized_expression "(local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)" ( (comma_expression "local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0" (assignment_expression "local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c))" identifier = (call_expression "(*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c))" (parenthesized_expression "(*(code *)PTR_SetImageProgress_003a8cb4)" ( (pointer_expression "*(code *)PTR_SetImageProgress_003a8cb4" * (cast_expression "(code *)PTR_SetImageProgress_003a8cb4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c))" ( identifier , identifier , (field_expression "local_1160._0_4_" identifier . field_identifier) , identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar6 + 0x1c)" * (cast_expression "(undefined4 *)(iVar6 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x1c)" ( (binary_expression "iVar6 + 0x1c" identifier + number_literal) )))) )))) , (comma_expression "lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0" (assignment_expression "lVar31 = CONCAT44(iVar7,&local_1108)" identifier = (call_expression "CONCAT44(iVar7,&local_1108)" identifier (argument_list "(iVar7,&local_1108)" ( identifier , (pointer_expression "&local_1108" & identifier) )))) , (binary_expression "local_114c == 0" identifier == number_literal))) ))) )) ))) )) (break_statement "break;" break ;)) (expression_statement "uVar22 = uVar22 - 1;" (assignment_expression "uVar22 = uVar22 - 1" identifier = (binary_expression "uVar22 - 1" identifier - number_literal)) ;) (expression_statement "iVar7 = local_1160._0_4_ + -1;" (assignment_expression "iVar7 = local_1160._0_4_ + -1" identifier = (binary_expression "local_1160._0_4_ + -1" (field_expression "local_1160._0_4_" identifier . field_identifier) + number_literal)) ;) (expression_statement "lVar31 = CONCAT44(iVar7,&local_1108);" (assignment_expression "lVar31 = CONCAT44(iVar7,&local_1108)" identifier = (call_expression "CONCAT44(iVar7,&local_1108)" identifier (argument_list "(iVar7,&local_1108)" ( identifier , (pointer_expression "&local_1108" & identifier) )))) ;) (expression_statement "local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_);" (assignment_expression "local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_)" identifier = (call_expression "CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_)" identifier (argument_list "((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_)" ( (binary_expression "(uint)(uVar13 - 1 < uVar13) + iVar7" (call_expression "(uint)(uVar13 - 1 < uVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar13 - 1 < uVar13)" ( (binary_expression "uVar13 - 1 < uVar13" (binary_expression "uVar13 - 1" identifier - number_literal) < identifier) ))) + identifier) , (field_expression "local_1160._4_4_" identifier . field_identifier) )))) ;) (expression_statement "uVar13 = uVar13 - 1;" (assignment_expression "uVar13 = uVar13 - 1" identifier = (binary_expression "uVar13 - 1" identifier - number_literal)) ;) (if_statement "if (uVar22 == 0xffffffff) break;" if (parenthesized_expression "(uVar22 == 0xffffffff)" ( (binary_expression "uVar22 == 0xffffffff" identifier == number_literal) )) (break_statement "break;" break ;)) })) })) (expression_statement "iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);" (assignment_expression "iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6)" identifier = (call_expression "(*(code *)PTR_EOFBlob_003a9748)(iVar6)" (parenthesized_expression "(*(code *)PTR_EOFBlob_003a9748)" ( (pointer_expression "*(code *)PTR_EOFBlob_003a9748" * (cast_expression "(code *)PTR_EOFBlob_003a9748" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (if_statement "if (iVar7 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\nLAB_00224e4c:\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      if (local_114c == 0) {\nLAB_00224fc0:\n        uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      else {\nLAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      goto LAB_00224c7c;\n    }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\nLAB_00224e4c:\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      if (local_114c == 0) {\nLAB_00224fc0:\n        uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      else {\nLAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      goto LAB_00224c7c;\n    }" { (expression_statement "puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_003a99b0)()" (parenthesized_expression "(*(code *)PTR___errno_location_003a99b0)" ( (pointer_expression "*(code *)PTR___errno_location_003a99b0" * (cast_expression "(code *)PTR___errno_location_003a99b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);" (assignment_expression "uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14)" identifier = (call_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14)" (parenthesized_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)" ( (pointer_expression "*(code *)PTR_GetExceptionMessage_003a93ec" * (cast_expression "(code *)PTR_GetExceptionMessage_003a93ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar14)" ( (pointer_expression "*puVar14" * identifier) )))) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20)" (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_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xe40" identifier + number_literal) , (binary_expression "PTR_UINT_003a8950 + -0xc70" identifier + number_literal) , number_literal , number_literal , (binary_expression "PTR_s_courses_003a88ec + -0x17c" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0xe78" identifier + number_literal) , (binary_expression "iVar6 + 0x340" identifier + number_literal) , identifier ))) ;) (expression_statement "(*(code *)PTR_DestroyString_003a9074)(uVar20);" (call_expression "(*(code *)PTR_DestroyString_003a9074)(uVar20)" (parenthesized_expression "(*(code *)PTR_DestroyString_003a9074)" ( (pointer_expression "*(code *)PTR_DestroyString_003a9074" * (cast_expression "(code *)PTR_DestroyString_003a9074" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar20)" ( identifier ))) ;) (labeled_statement "LAB_00224e4c:\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);" statement_identifier : (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(iVar6);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(iVar6)" (parenthesized_expression "(*(code *)PTR_CloseBlob_003a9688)" ( (pointer_expression "*(code *)PTR_CloseBlob_003a9688" * (cast_expression "(code *)PTR_CloseBlob_003a9688" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))) ;)) (if_statement "if (local_114c == 0) {\nLAB_00224fc0:\n        uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      else {\nLAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);\n        dVar26 = in_f22_23;\n      }" if (parenthesized_expression "(local_114c == 0)" ( (binary_expression "local_114c == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00224fc0:\n        uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n        dVar26 = in_f22_23;\n      }" { (labeled_statement "LAB_00224fc0:\n        uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);" statement_identifier : (expression_statement "uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);" (assignment_expression "uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6)" identifier = (call_expression "(*(code *)PTR_DestroyImageList_003a9510)(iVar6)" (parenthesized_expression "(*(code *)PTR_DestroyImageList_003a9510)" ( (pointer_expression "*(code *)PTR_DestroyImageList_003a9510" * (cast_expression "(code *)PTR_DestroyImageList_003a9510" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;)) (expression_statement "dVar26 = in_f22_23;" (assignment_expression "dVar26 = in_f22_23" identifier = identifier) ;) }) (else_clause "else {\nLAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);\n        dVar26 = in_f22_23;\n      }" else (compound_statement "{\nLAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);\n        dVar26 = in_f22_23;\n      }" { (labeled_statement "LAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);" statement_identifier : (expression_statement "uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);" (assignment_expression "uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6)" identifier = (call_expression "(*(code *)PTR_GetFirstImageInList_003a944c)(iVar6)" (parenthesized_expression "(*(code *)PTR_GetFirstImageInList_003a944c)" ( (pointer_expression "*(code *)PTR_GetFirstImageInList_003a944c" * (cast_expression "(code *)PTR_GetFirstImageInList_003a944c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;)) (expression_statement "dVar26 = in_f22_23;" (assignment_expression "dVar26 = in_f22_23" identifier = identifier) ;) }))) (goto_statement "goto LAB_00224c7c;" goto statement_identifier ;) })) (if_statement "if ((*(int *)(param_1 + 0x2c) != 0) &&\n       ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= *(uint *)(iVar6 + 0x26c)))\n    goto LAB_00224e4c;" if (parenthesized_expression "((*(int *)(param_1 + 0x2c) != 0) &&\n       ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= *(uint *)(iVar6 + 0x26c)))" ( (binary_expression "(*(int *)(param_1 + 0x2c) != 0) &&\n       ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= *(uint *)(iVar6 + 0x26c))" (parenthesized_expression "(*(int *)(param_1 + 0x2c) != 0)" ( (binary_expression "*(int *)(param_1 + 0x2c) != 0" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= *(uint *)(iVar6 + 0x26c))" ( (binary_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= *(uint *)(iVar6 + 0x26c)" (binary_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U" (parenthesized_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28))" ( (binary_expression "*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) + (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) )) - number_literal) <= (pointer_expression "*(uint *)(iVar6 + 0x26c)" * (cast_expression "(uint *)(iVar6 + 0x26c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x26c)" ( (binary_expression "iVar6 + 0x26c" identifier + number_literal) ))))) ))) )) (goto_statement "goto LAB_00224e4c;" goto statement_identifier ;)) (if_statement "if ((int)local_1154 < (int)(local_1138 + -1)) {\n      (*(code *)PTR_AcquireNextImage_003a8f90)(param_1,iVar6,param_2);\n      iVar7 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar6);\n      if (iVar7 != 0) {\n        iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6);\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32);\n        if (local_114c != 0) goto LAB_00224e34;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224fc0;\n    }" if (parenthesized_expression "((int)local_1154 < (int)(local_1138 + -1))" ( (binary_expression "(int)local_1154 < (int)(local_1138 + -1)" (cast_expression "(int)local_1154" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)(local_1138 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_1138 + -1)" ( (binary_expression "local_1138 + -1" identifier + number_literal) )))) )) (compound_statement "{\n      (*(code *)PTR_AcquireNextImage_003a8f90)(param_1,iVar6,param_2);\n      iVar7 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar6);\n      if (iVar7 != 0) {\n        iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6);\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32);\n        if (local_114c != 0) goto LAB_00224e34;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224fc0;\n    }" { (expression_statement "(*(code *)PTR_AcquireNextImage_003a8f90)(param_1,iVar6,param_2);" (call_expression "(*(code *)PTR_AcquireNextImage_003a8f90)(param_1,iVar6,param_2)" (parenthesized_expression "(*(code *)PTR_AcquireNextImage_003a8f90)" ( (pointer_expression "*(code *)PTR_AcquireNextImage_003a8f90" * (cast_expression "(code *)PTR_AcquireNextImage_003a8f90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,iVar6,param_2)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar7 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar6);" (assignment_expression "iVar7 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar6)" identifier = (call_expression "(*(code *)PTR_GetNextImageInList_003a9470)(iVar6)" (parenthesized_expression "(*(code *)PTR_GetNextImageInList_003a9470)" ( (pointer_expression "*(code *)PTR_GetNextImageInList_003a9470" * (cast_expression "(code *)PTR_GetNextImageInList_003a9470" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (if_statement "if (iVar7 != 0) {\n        iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6);\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32);\n        if (local_114c != 0) goto LAB_00224e34;\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6);\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32);\n        if (local_114c != 0) goto LAB_00224e34;\n      }" { (expression_statement "iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6);" (assignment_expression "iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6)" identifier = (call_expression "(*(code *)PTR_SyncNextImageInList_003a9408)(iVar6)" (parenthesized_expression "(*(code *)PTR_SyncNextImageInList_003a9408)" ( (pointer_expression "*(code *)PTR_SyncNextImageInList_003a9408" * (cast_expression "(code *)PTR_SyncNextImageInList_003a9408" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);" (assignment_expression "uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6)" identifier = (call_expression "(*(code *)PTR_TellBlob_003a931c)(iVar6)" (parenthesized_expression "(*(code *)PTR_TellBlob_003a931c)" ( (pointer_expression "*(code *)PTR_TellBlob_003a931c" * (cast_expression "(code *)PTR_TellBlob_003a931c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6);" (assignment_expression "uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6)" identifier = (call_expression "(*(code *)PTR_GetBlobSize_003a94b8)(iVar6)" (parenthesized_expression "(*(code *)PTR_GetBlobSize_003a94b8)" ( (pointer_expression "*(code *)PTR_GetBlobSize_003a94b8" * (cast_expression "(code *)PTR_GetBlobSize_003a94b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32);" (assignment_expression "local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32)" identifier = (call_expression "(*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32)" (parenthesized_expression "(*(code *)PTR_SetImageProgress_003a8cb4)" ( (pointer_expression "*(code *)PTR_SetImageProgress_003a8cb4" * (cast_expression "(code *)PTR_SetImageProgress_003a8cb4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32)" ( identifier , (binary_expression "PTR_s_courses_003a88ec + -0x168" identifier + number_literal) , (cast_expression "(int)((ulonglong)uVar30 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar30 >> 0x20)" ( (binary_expression "(ulonglong)uVar30 >> 0x20" (cast_expression "(ulonglong)uVar30" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (cast_expression "(int)uVar30" ( (type_descriptor "int" primitive_type) ) identifier) , identifier )))) ;) (if_statement "if (local_114c != 0) goto LAB_00224e34;" if (parenthesized_expression "(local_114c != 0)" ( (binary_expression "local_114c != 0" identifier != number_literal) )) (goto_statement "goto LAB_00224e34;" goto statement_identifier ;)) })) (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(iVar6);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(iVar6)" (parenthesized_expression "(*(code *)PTR_CloseBlob_003a9688)" ( (pointer_expression "*(code *)PTR_CloseBlob_003a9688" * (cast_expression "(code *)PTR_CloseBlob_003a9688" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))) ;) (goto_statement "goto LAB_00224fc0;" goto statement_identifier ;) })) (labeled_statement "LAB_00224e34:\n    local_1154 = local_1154 + 1;" statement_identifier : (expression_statement "local_1154 = local_1154 + 1;" (assignment_expression "local_1154 = local_1154 + 1" identifier = (binary_expression "local_1154 + 1" identifier + number_literal)) ;)) (if_statement "if (local_1154 == local_1138) goto LAB_00224e4c;" if (parenthesized_expression "(local_1154 == local_1138)" ( (binary_expression "local_1154 == local_1138" identifier == identifier) )) (goto_statement "goto LAB_00224e4c;" goto statement_identifier ;)) (labeled_statement "LAB_00224900:\n    iVar7 = *(int *)(param_1 + 0x1dc);" statement_identifier : (expression_statement "iVar7 = *(int *)(param_1 + 0x1dc);" (assignment_expression "iVar7 = *(int *)(param_1 + 0x1dc)" identifier = (pointer_expression "*(int *)(param_1 + 0x1dc)" * (cast_expression "(int *)(param_1 + 0x1dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1dc)" ( (binary_expression "param_1 + 0x1dc" identifier + number_literal) ))))) ;)) (expression_statement "*(int *)(iVar6 + 0x18) = local_1148;" (assignment_expression "*(int *)(iVar6 + 0x18) = local_1148" (pointer_expression "*(int *)(iVar6 + 0x18)" * (cast_expression "(int *)(iVar6 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar6 + 0x1c) = local_1144;" (assignment_expression "*(int *)(iVar6 + 0x1c) = local_1144" (pointer_expression "*(int *)(iVar6 + 0x1c)" * (cast_expression "(int *)(iVar6 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x1c)" ( (binary_expression "iVar6 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar6 + 0x20) = local_1128;" (assignment_expression "*(int *)(iVar6 + 0x20) = local_1128" (pointer_expression "*(int *)(iVar6 + 0x20)" * (cast_expression "(int *)(iVar6 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x20)" ( (binary_expression "iVar6 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar6 + 0x25c) = local_1124;" (assignment_expression "*(undefined4 *)(iVar6 + 0x25c) = local_1124" (pointer_expression "*(undefined4 *)(iVar6 + 0x25c)" * (cast_expression "(undefined4 *)(iVar6 + 0x25c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x25c)" ( (binary_expression "iVar6 + 0x25c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(iVar6 + 0x26c) = local_1154;" (assignment_expression "*(undefined **)(iVar6 + 0x26c) = local_1154" (pointer_expression "*(undefined **)(iVar6 + 0x26c)" * (cast_expression "(undefined **)(iVar6 + 0x26c)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x26c)" ( (binary_expression "iVar6 + 0x26c" identifier + number_literal) )))) = identifier) ;) (if_statement "if (((iVar7 != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n       ((undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1) <= local_1154))\n    goto LAB_00224e4c;" if (parenthesized_expression "(((iVar7 != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n       ((undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1) <= local_1154))" ( (binary_expression "((iVar7 != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n       ((undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1) <= local_1154)" (parenthesized_expression "((iVar7 != 0) && (*(int *)(param_1 + 0x2c) != 0))" ( (binary_expression "(iVar7 != 0) && (*(int *)(param_1 + 0x2c) != 0)" (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(int *)(param_1 + 0x2c) != 0)" ( (binary_expression "*(int *)(param_1 + 0x2c) != 0" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "((undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1) <= local_1154)" ( (binary_expression "(undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1) <= local_1154" (cast_expression "(undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1)" ( (binary_expression "*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1" (binary_expression "*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) + (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) + number_literal) ))) <= identifier) ))) )) (goto_statement "goto LAB_00224e4c;" goto statement_identifier ;)) (expression_statement "local_114c = (*(code *)PTR_SetImageExtent_003a94ac)(iVar6,local_1148,local_1144,param_2);" (assignment_expression "local_114c = (*(code *)PTR_SetImageExtent_003a94ac)(iVar6,local_1148,local_1144,param_2)" identifier = (call_expression "(*(code *)PTR_SetImageExtent_003a94ac)(iVar6,local_1148,local_1144,param_2)" (parenthesized_expression "(*(code *)PTR_SetImageExtent_003a94ac)" ( (pointer_expression "*(code *)PTR_SetImageExtent_003a94ac" * (cast_expression "(code *)PTR_SetImageExtent_003a94ac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,local_1148,local_1144,param_2)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (local_114c == 0) goto LAB_00224fc0;" if (parenthesized_expression "(local_114c == 0)" ( (binary_expression "local_114c == 0" identifier == number_literal) )) (goto_statement "goto LAB_00224fc0;" goto statement_identifier ;)) (expression_statement "(*(code *)PTR_SetImageColorspace_003a8d40)(iVar6,3,param_2);" (call_expression "(*(code *)PTR_SetImageColorspace_003a8d40)(iVar6,3,param_2)" (parenthesized_expression "(*(code *)PTR_SetImageColorspace_003a8d40)" ( (pointer_expression "*(code *)PTR_SetImageColorspace_003a8d40" * (cast_expression "(code *)PTR_SetImageColorspace_003a8d40" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,3,param_2)" ( identifier , number_literal , identifier ))) ;) (expression_statement "in_f22_23 = local_10e0;" (assignment_expression "in_f22_23 = local_10e0" identifier = identifier) ;) (if_statement "if ((local_10e0 != 0.0) || (local_10d8 != 0.0)) {\n      if (local_1158 != (undefined1 *)0x0) goto LAB_002249dc;\n      dVar26 = 0.0;\n      dVar28 = dVar26;\n      goto LAB_002249f4;\n    }" if (parenthesized_expression "((local_10e0 != 0.0) || (local_10d8 != 0.0))" ( (binary_expression "(local_10e0 != 0.0) || (local_10d8 != 0.0)" (parenthesized_expression "(local_10e0 != 0.0)" ( (binary_expression "local_10e0 != 0.0" identifier != number_literal) )) || (parenthesized_expression "(local_10d8 != 0.0)" ( (binary_expression "local_10d8 != 0.0" identifier != number_literal) ))) )) (compound_statement "{\n      if (local_1158 != (undefined1 *)0x0) goto LAB_002249dc;\n      dVar26 = 0.0;\n      dVar28 = dVar26;\n      goto LAB_002249f4;\n    }" { (if_statement "if (local_1158 != (undefined1 *)0x0) goto LAB_002249dc;" if (parenthesized_expression "(local_1158 != (undefined1 *)0x0)" ( (binary_expression "local_1158 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002249dc;" goto statement_identifier ;)) (expression_statement "dVar26 = 0.0;" (assignment_expression "dVar26 = 0.0" identifier = number_literal) ;) (expression_statement "dVar28 = dVar26;" (assignment_expression "dVar28 = dVar26" identifier = identifier) ;) (goto_statement "goto LAB_002249f4;" goto statement_identifier ;) })) (if_statement "if (((uint)local_1158 & 0xffffffdf) != 0xffffffc0) break;" if (parenthesized_expression "(((uint)local_1158 & 0xffffffdf) != 0xffffffc0)" ( (binary_expression "((uint)local_1158 & 0xffffffdf) != 0xffffffc0" (parenthesized_expression "((uint)local_1158 & 0xffffffdf)" ( (binary_expression "(uint)local_1158 & 0xffffffdf" (cast_expression "(uint)local_1158" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (expression_statement "dVar26 = local_10d8;" (assignment_expression "dVar26 = local_10d8" identifier = identifier) ;) (expression_statement "lVar33 = (*(code *)PTR_TellBlob_003a931c)(iVar6);" (assignment_expression "lVar33 = (*(code *)PTR_TellBlob_003a931c)(iVar6)" identifier = (call_expression "(*(code *)PTR_TellBlob_003a931c)(iVar6)" (parenthesized_expression "(*(code *)PTR_TellBlob_003a931c)" ( (pointer_expression "*(code *)PTR_TellBlob_003a931c" * (cast_expression "(code *)PTR_TellBlob_003a931c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (if_statement "if (lVar33 != -1) {\n      lVar31 = (ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)*(uint *)(iVar6 + 0x1c);\n      uVar22 = *(uint *)(iVar6 + 0x20) >> 3;\n      if (uVar22 == 2) {\n        sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n        dVar26 = (double)(int)sVar15;\n      }\n      else if (uVar22 == 4) {\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }\n      else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }\n      local_1160._0_4_ = (int)((ulonglong)lVar31 >> 0x20);\n      uVar20 = local_1160._0_4_;\n      local_1160 = lVar31;\n      local_10e0 = dVar26;\n      local_10d8 = dVar26;\n      if (0xffffffff < lVar31) goto LAB_00225060;\n      goto LAB_002252f8;\n    }" if (parenthesized_expression "(lVar33 != -1)" ( (binary_expression "lVar33 != -1" identifier != number_literal) )) (compound_statement "{\n      lVar31 = (ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)*(uint *)(iVar6 + 0x1c);\n      uVar22 = *(uint *)(iVar6 + 0x20) >> 3;\n      if (uVar22 == 2) {\n        sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n        dVar26 = (double)(int)sVar15;\n      }\n      else if (uVar22 == 4) {\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }\n      else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }\n      local_1160._0_4_ = (int)((ulonglong)lVar31 >> 0x20);\n      uVar20 = local_1160._0_4_;\n      local_1160 = lVar31;\n      local_10e0 = dVar26;\n      local_10d8 = dVar26;\n      if (0xffffffff < lVar31) goto LAB_00225060;\n      goto LAB_002252f8;\n    }" { (expression_statement "lVar31 = (ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)*(uint *)(iVar6 + 0x1c);" (assignment_expression "lVar31 = (ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)*(uint *)(iVar6 + 0x1c)" identifier = (binary_expression "(ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)*(uint *)(iVar6 + 0x1c)" (binary_expression "(ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)" (binary_expression "(ulonglong)*(uint *)(iVar6 + 0x18)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(iVar6 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) )))) * (parenthesized_expression "(ulonglong)" ( identifier ))) * (cast_expression "(uint *)(iVar6 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x1c)" ( (binary_expression "iVar6 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar22 = *(uint *)(iVar6 + 0x20) >> 3;" (assignment_expression "uVar22 = *(uint *)(iVar6 + 0x20) >> 3" identifier = (binary_expression "*(uint *)(iVar6 + 0x20) >> 3" (pointer_expression "*(uint *)(iVar6 + 0x20)" * (cast_expression "(uint *)(iVar6 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x20)" ( (binary_expression "iVar6 + 0x20" identifier + number_literal) )))) >> number_literal)) ;) (if_statement "if (uVar22 == 2) {\n        sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n        dVar26 = (double)(int)sVar15;\n      }\n      else if (uVar22 == 4) {\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }\n      else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }" if (parenthesized_expression "(uVar22 == 2)" ( (binary_expression "uVar22 == 2" identifier == number_literal) )) (compound_statement "{\n        sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n        dVar26 = (double)(int)sVar15;\n      }" { (expression_statement "sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);" (assignment_expression "sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6)" identifier = (call_expression "(*(code *)PTR_ReadBlobShort_003a8d80)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobShort_003a8d80)" ( (pointer_expression "*(code *)PTR_ReadBlobShort_003a8d80" * (cast_expression "(code *)PTR_ReadBlobShort_003a8d80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "dVar26 = (double)(int)sVar15;" (assignment_expression "dVar26 = (double)(int)sVar15" identifier = (cast_expression "(double)(int)sVar15" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)sVar15" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else if (uVar22 == 4) {\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }\n      else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }" else (if_statement "if (uVar22 == 4) {\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }\n      else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }" if (parenthesized_expression "(uVar22 == 4)" ( (binary_expression "uVar22 == 4" identifier == number_literal) )) (compound_statement "{\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }" { (expression_statement "fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);" (assignment_expression "fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6)" identifier = (cast_expression "(float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6)" ( (type_descriptor "float" primitive_type) ) (call_expression "(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobFloat_003a8e98)" ( (pointer_expression "*(code *)PTR_ReadBlobFloat_003a8e98" * (cast_expression "(code *)PTR_ReadBlobFloat_003a8e98" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))))) ;) (expression_statement "dVar26 = (double)fVar27;" (assignment_expression "dVar26 = (double)fVar27" identifier = (cast_expression "(double)fVar27" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }" else (if_statement "if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }" if (parenthesized_expression "(uVar22 == 1)" ( (binary_expression "uVar22 == 1" identifier == number_literal) )) (compound_statement "{\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }" { (expression_statement "iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);" (assignment_expression "iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "dVar26 = (double)iVar7;" (assignment_expression "dVar26 = (double)iVar7" identifier = (cast_expression "(double)iVar7" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }" else (compound_statement "{\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }" { (expression_statement "dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);" (assignment_expression "dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6)" identifier = (cast_expression "(double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobDouble_003a8c38)" ( (pointer_expression "*(code *)PTR_ReadBlobDouble_003a8c38" * (cast_expression "(code *)PTR_ReadBlobDouble_003a8c38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))))) ;) }))))))) (expression_statement "local_1160._0_4_ = (int)((ulonglong)lVar31 >> 0x20);" (assignment_expression "local_1160._0_4_ = (int)((ulonglong)lVar31 >> 0x20)" (field_expression "local_1160._0_4_" identifier . field_identifier) = (cast_expression "(int)((ulonglong)lVar31 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar31 >> 0x20)" ( (binary_expression "(ulonglong)lVar31 >> 0x20" (cast_expression "(ulonglong)lVar31" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar20 = local_1160._0_4_;" (assignment_expression "uVar20 = local_1160._0_4_" identifier = (field_expression "local_1160._0_4_" identifier . field_identifier)) ;) (expression_statement "local_1160 = lVar31;" (assignment_expression "local_1160 = lVar31" identifier = identifier) ;) (expression_statement "local_10e0 = dVar26;" (assignment_expression "local_10e0 = dVar26" identifier = identifier) ;) (expression_statement "local_10d8 = dVar26;" (assignment_expression "local_10d8 = dVar26" identifier = identifier) ;) (if_statement "if (0xffffffff < lVar31) goto LAB_00225060;" if (parenthesized_expression "(0xffffffff < lVar31)" ( (binary_expression "0xffffffff < lVar31" number_literal < identifier) )) (goto_statement "goto LAB_00225060;" goto statement_identifier ;)) (goto_statement "goto LAB_002252f8;" goto statement_identifier ;) })) (expression_statement "dVar26 = dVar26 - in_f22_23;" (assignment_expression "dVar26 = dVar26 - in_f22_23" identifier = (binary_expression "dVar26 - in_f22_23" identifier - identifier)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) (expression_statement "dVar26 = 0.0;" (assignment_expression "dVar26 = 0.0" identifier = number_literal) ;) (expression_statement "dVar28 = dVar26;" (assignment_expression "dVar28 = dVar26" identifier = identifier) ;) (if_statement "if (local_1158 != (undefined1 *)0x0) {\nLAB_002249dc:\n    dVar26 = (double)(*(code *)PTR_FUN_003a8a60)(local_1120,local_111c);\n    dVar28 = dVar26;\n  }" if (parenthesized_expression "(local_1158 != (undefined1 *)0x0)" ( (binary_expression "local_1158 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_002249dc:\n    dVar26 = (double)(*(code *)PTR_FUN_003a8a60)(local_1120,local_111c);\n    dVar28 = dVar26;\n  }" { (labeled_statement "LAB_002249dc:\n    dVar26 = (double)(*(code *)PTR_FUN_003a8a60)(local_1120,local_111c);" statement_identifier : (expression_statement "dVar26 = (double)(*(code *)PTR_FUN_003a8a60)(local_1120,local_111c);" (assignment_expression "dVar26 = (double)(*(code *)PTR_FUN_003a8a60)(local_1120,local_111c)" identifier = (cast_expression "(double)(*(code *)PTR_FUN_003a8a60)(local_1120,local_111c)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_FUN_003a8a60)(local_1120,local_111c)" (parenthesized_expression "(*(code *)PTR_FUN_003a8a60)" ( (pointer_expression "*(code *)PTR_FUN_003a8a60" * (cast_expression "(code *)PTR_FUN_003a8a60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_1120,local_111c)" ( identifier , identifier ))))) ;)) (expression_statement "dVar28 = dVar26;" (assignment_expression "dVar28 = dVar26" identifier = identifier) ;) })) (goto_statement "goto LAB_002249f4;" goto statement_identifier ;) (labeled_statement "LAB_00225060:\n  iVar7 = 0;" statement_identifier : (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;)) (expression_statement "uVar22 = 1;" (assignment_expression "uVar22 = 1" identifier = number_literal) ;) (expression_statement "dVar28 = dVar26;" (assignment_expression "dVar28 = dVar26" identifier = identifier) ;) (expression_statement "dVar29 = dVar26;" (assignment_expression "dVar29 = dVar26" identifier = identifier) ;) (do_statement "do {\n    uVar13 = *(uint *)(iVar6 + 0x20) >> 3;\n    if (uVar13 == 2) {\n      sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n      dVar26 = (double)(int)sVar15;\n    }\n    else if (uVar13 == 4) {\n      fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n      dVar26 = (double)fVar27;\n    }\n    else if (uVar13 == 1) {\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }\n    else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }\n    dVar5 = dVar26;\n    if (dVar29 <= dVar26) {\n      dVar5 = local_10e0;\n    }\n    local_10e0 = dVar5;\n    uVar13 = uVar22 + 1;\n    dVar29 = dVar26;\n    if (dVar26 <= dVar28) {\n      dVar26 = dVar28;\n      dVar29 = local_10d8;\n    }\n    local_10d8 = dVar29;\n    iVar7 = (uint)(uVar13 < uVar22) + iVar7;\n    uVar22 = uVar13;\n    dVar28 = dVar26;\n    dVar29 = local_10e0;\n    in_f22_23 = local_10e0;\n  } while (lVar31 != CONCAT44(iVar7,uVar13));" do (compound_statement "{\n    uVar13 = *(uint *)(iVar6 + 0x20) >> 3;\n    if (uVar13 == 2) {\n      sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n      dVar26 = (double)(int)sVar15;\n    }\n    else if (uVar13 == 4) {\n      fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n      dVar26 = (double)fVar27;\n    }\n    else if (uVar13 == 1) {\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }\n    else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }\n    dVar5 = dVar26;\n    if (dVar29 <= dVar26) {\n      dVar5 = local_10e0;\n    }\n    local_10e0 = dVar5;\n    uVar13 = uVar22 + 1;\n    dVar29 = dVar26;\n    if (dVar26 <= dVar28) {\n      dVar26 = dVar28;\n      dVar29 = local_10d8;\n    }\n    local_10d8 = dVar29;\n    iVar7 = (uint)(uVar13 < uVar22) + iVar7;\n    uVar22 = uVar13;\n    dVar28 = dVar26;\n    dVar29 = local_10e0;\n    in_f22_23 = local_10e0;\n  }" { (expression_statement "uVar13 = *(uint *)(iVar6 + 0x20) >> 3;" (assignment_expression "uVar13 = *(uint *)(iVar6 + 0x20) >> 3" identifier = (binary_expression "*(uint *)(iVar6 + 0x20) >> 3" (pointer_expression "*(uint *)(iVar6 + 0x20)" * (cast_expression "(uint *)(iVar6 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x20)" ( (binary_expression "iVar6 + 0x20" identifier + number_literal) )))) >> number_literal)) ;) (if_statement "if (uVar13 == 2) {\n      sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n      dVar26 = (double)(int)sVar15;\n    }\n    else if (uVar13 == 4) {\n      fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n      dVar26 = (double)fVar27;\n    }\n    else if (uVar13 == 1) {\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }\n    else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }" if (parenthesized_expression "(uVar13 == 2)" ( (binary_expression "uVar13 == 2" identifier == number_literal) )) (compound_statement "{\n      sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n      dVar26 = (double)(int)sVar15;\n    }" { (expression_statement "sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);" (assignment_expression "sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6)" identifier = (call_expression "(*(code *)PTR_ReadBlobShort_003a8d80)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobShort_003a8d80)" ( (pointer_expression "*(code *)PTR_ReadBlobShort_003a8d80" * (cast_expression "(code *)PTR_ReadBlobShort_003a8d80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "dVar26 = (double)(int)sVar15;" (assignment_expression "dVar26 = (double)(int)sVar15" identifier = (cast_expression "(double)(int)sVar15" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)sVar15" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else if (uVar13 == 4) {\n      fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n      dVar26 = (double)fVar27;\n    }\n    else if (uVar13 == 1) {\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }\n    else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }" else (if_statement "if (uVar13 == 4) {\n      fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n      dVar26 = (double)fVar27;\n    }\n    else if (uVar13 == 1) {\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }\n    else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }" if (parenthesized_expression "(uVar13 == 4)" ( (binary_expression "uVar13 == 4" identifier == number_literal) )) (compound_statement "{\n      fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n      dVar26 = (double)fVar27;\n    }" { (expression_statement "fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);" (assignment_expression "fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6)" identifier = (cast_expression "(float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6)" ( (type_descriptor "float" primitive_type) ) (call_expression "(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobFloat_003a8e98)" ( (pointer_expression "*(code *)PTR_ReadBlobFloat_003a8e98" * (cast_expression "(code *)PTR_ReadBlobFloat_003a8e98" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))))) ;) (expression_statement "dVar26 = (double)fVar27;" (assignment_expression "dVar26 = (double)fVar27" identifier = (cast_expression "(double)fVar27" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else if (uVar13 == 1) {\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }\n    else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }" else (if_statement "if (uVar13 == 1) {\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }\n    else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }" if (parenthesized_expression "(uVar13 == 1)" ( (binary_expression "uVar13 == 1" identifier == number_literal) )) (compound_statement "{\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }" { (expression_statement "iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);" (assignment_expression "iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "dVar26 = (double)iVar10;" (assignment_expression "dVar26 = (double)iVar10" identifier = (cast_expression "(double)iVar10" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }" else (compound_statement "{\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }" { (expression_statement "dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);" (assignment_expression "dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6)" identifier = (cast_expression "(double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobDouble_003a8c38)" ( (pointer_expression "*(code *)PTR_ReadBlobDouble_003a8c38" * (cast_expression "(code *)PTR_ReadBlobDouble_003a8c38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))))) ;) }))))))) (expression_statement "dVar5 = dVar26;" (assignment_expression "dVar5 = dVar26" identifier = identifier) ;) (if_statement "if (dVar29 <= dVar26) {\n      dVar5 = local_10e0;\n    }" if (parenthesized_expression "(dVar29 <= dVar26)" ( (binary_expression "dVar29 <= dVar26" identifier <= identifier) )) (compound_statement "{\n      dVar5 = local_10e0;\n    }" { (expression_statement "dVar5 = local_10e0;" (assignment_expression "dVar5 = local_10e0" identifier = identifier) ;) })) (expression_statement "local_10e0 = dVar5;" (assignment_expression "local_10e0 = dVar5" identifier = identifier) ;) (expression_statement "uVar13 = uVar22 + 1;" (assignment_expression "uVar13 = uVar22 + 1" identifier = (binary_expression "uVar22 + 1" identifier + number_literal)) ;) (expression_statement "dVar29 = dVar26;" (assignment_expression "dVar29 = dVar26" identifier = identifier) ;) (if_statement "if (dVar26 <= dVar28) {\n      dVar26 = dVar28;\n      dVar29 = local_10d8;\n    }" if (parenthesized_expression "(dVar26 <= dVar28)" ( (binary_expression "dVar26 <= dVar28" identifier <= identifier) )) (compound_statement "{\n      dVar26 = dVar28;\n      dVar29 = local_10d8;\n    }" { (expression_statement "dVar26 = dVar28;" (assignment_expression "dVar26 = dVar28" identifier = identifier) ;) (expression_statement "dVar29 = local_10d8;" (assignment_expression "dVar29 = local_10d8" identifier = identifier) ;) })) (expression_statement "local_10d8 = dVar29;" (assignment_expression "local_10d8 = dVar29" identifier = identifier) ;) (expression_statement "iVar7 = (uint)(uVar13 < uVar22) + iVar7;" (assignment_expression "iVar7 = (uint)(uVar13 < uVar22) + iVar7" identifier = (binary_expression "(uint)(uVar13 < uVar22) + iVar7" (call_expression "(uint)(uVar13 < uVar22)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar13 < uVar22)" ( (binary_expression "uVar13 < uVar22" identifier < identifier) ))) + identifier)) ;) (expression_statement "uVar22 = uVar13;" (assignment_expression "uVar22 = uVar13" identifier = identifier) ;) (expression_statement "dVar28 = dVar26;" (assignment_expression "dVar28 = dVar26" identifier = identifier) ;) (expression_statement "dVar29 = local_10e0;" (assignment_expression "dVar29 = local_10e0" identifier = identifier) ;) (expression_statement "in_f22_23 = local_10e0;" (assignment_expression "in_f22_23 = local_10e0" identifier = identifier) ;) }) while (parenthesized_expression "(lVar31 != CONCAT44(iVar7,uVar13))" ( (binary_expression "lVar31 != CONCAT44(iVar7,uVar13)" identifier != (call_expression "CONCAT44(iVar7,uVar13)" identifier (argument_list "(iVar7,uVar13)" ( identifier , identifier )))) )) ;) (goto_statement "goto LAB_0022511c;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Enum "ChannelType": Some values do not have unique names */\n/* WARNING: Enum "GravityType": Some values do not have unique names */\n/* WARNING: Enum "DisposeType": 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\nImage * ReadFITSImage(ImageInfo *image_info,ExceptionInfo *exception)\n\n{\n  bool bVar1;\n  ulonglong uVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  double dVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  undefined1 *puVar9;\n  int *piVar10;\n  byte bVar19;\n  MagickBooleanType MVar11;\n  int iVar12;\n  uint uVar13;\n  int iVar14;\n  Image *pIVar15;\n  uint uVar16;\n  short sVar18;\n  undefined4 *puVar17;\n  undefined *puVar20;\n  float *pfVar21;\n  double *pdVar22;\n  uint uVar23;\n  undefined4 uVar24;\n  byte *pbVar25;\n  uint uVar26;\n  undefined4 unaff_s3;\n  undefined *puVar27;\n  undefined4 unaff_s5;\n  undefined *puVar28;\n  code *pcVar29;\n  double dVar30;\n  float fVar31;\n  double dVar32;\n  double in_f22_23;\n  double dVar33;\n  double in_f28_29;\n  double in_f30_31;\n  undefined8 uVar34;\n  longlong lVar35;\n  undefined8 uVar36;\n  longlong lVar37;\n  undefined8 local_1160;\n  undefined *local_1158;\n  undefined *local_1154;\n  int local_114c;\n  int local_1148;\n  int local_1144;\n  uint local_1140;\n  undefined *local_1138;\n  undefined *local_1134;\n  undefined *local_112c;\n  int local_1128;\n  EndianType local_1124;\n  int local_1120;\n  uint local_111c;\n  double local_1118;\n  char *comment;\n  double pixel;\n  FITSInfo fits_info;\n  char keyword [9];\n  char value [73];\n  char property [4096];\n  \n  puVar4 = PTR___stack_chk_guard_003a9230;\n  lVar35 = CONCAT44(unaff_s3,unaff_s5);\n  iVar6 = *(int *)PTR___stack_chk_guard_003a9230;\n  if (image_info == (ImageInfo *)0x0) {\n    pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                                  PTR_UINT_003a8950 + -0xc60);\n    return pIVar15;\n  }\n  if (image_info->signature != 0xabacadab) {\n    pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                                  PTR_UINT_003a8950 + -0xc60);\n    return pIVar15;\n  }\n  if (image_info->debug != MagickFalse) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,image_info->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n    pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                                  PTR_UINT_003a8950 + -0xc60);\n    return pIVar15;\n  }\n  if (exception->signature != 0xabacadab) {\n    pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                                  PTR_UINT_003a8950 + -0xc60);\n    return pIVar15;\n  }\n  iVar7 = (*(code *)PTR_AcquireImage_003a960c)(image_info,exception);\n  local_114c = (*(code *)PTR_OpenBlob_003a924c)(image_info,iVar7,2,exception);\n  puVar3 = PTR_UINT_003a8950;\n  puVar20 = PTR_LAB_003a88e0;\n  if (local_114c == 0) {\n    (*(code *)PTR_DestroyImageList_003a9510)(iVar7);\n    pIVar15 = (Image *)0x0;\n    dVar30 = in_f22_23;\n  }\n  else {\n    local_1158 = PTR_UINT_003a8950;\n    local_1134 = PTR_LAB_003a88e0;\n    local_1154 = PTR_UINT_003a8950;\n    (*(code *)PTR_memset_003a96d4)(&fits_info,0,0x48);\n    fits_info.scale = *(double *)(puVar20 + 0x1438);\n    fits_info.bits_per_pixel = 8;\n    fits_info.columns = 1;\n    fits_info.rows = 1;\n    fits_info.number_planes = 1;\n    puVar20 = PTR_UINT_003a8950 + -0xe20;\n    puVar27 = PTR_s_t_to_left_003a88e4 + 0x544;\n    fits_info.endian = MSBEndian;\n    puVar28 = PTR_UINT_003a8950 + -0xe30;\n    local_1160 = CONCAT44(puVar20,local_1160._4_4_);\n    comment = (char *)0x0;\n    puVar9 = PTR_UINT_003a8950;\n    do {\n      iVar8 = (*(code *)PTR_EOFBlob_003a9748)(iVar7);\n      if (iVar8 != 0) {\nLAB_00224bd4:\n        lVar37 = (longlong)fits_info.columns * (longlong)fits_info.rows;\n        MVar11 = fits_info.simple;\n        iVar8 = fits_info.columns;\n        iVar12 = fits_info.rows;\n        break;\n      }\n      puVar9 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar7);\n      while (puVar9 == (undefined1 *)0x0) {\n        iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(iVar7,8,keyword);\n        if (iVar8 != 8) break;\n        piVar10 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar25 = (byte *)keyword;\n        do {\n          if ((*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0) break;\n          puVar9 = puVar9 + 1;\n          bVar19 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar25 = bVar19;\n          pbVar25 = pbVar25 + 1;\n        } while (puVar9 != &DAT_00000008);\n        pbVar25 = (byte *)value;\n        keyword[(int)puVar9] = '\0';\n        iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(iVar7,0x48,pbVar25);\n        value[0x48] = '\0';\n        if (iVar8 != 0x48) break;\n        if (value[0] == '=') {\n          pbVar25 = (byte *)(value + 2);\n          while ((*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0) {\n            pbVar25 = pbVar25 + 1;\n          }\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar27);\n        if (iVar8 == 0) break;\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar28);\n        if (iVar8 == 0) {\n          fits_info.extend = (MagickBooleanType)((*pbVar25 & 0xdf) == 0x54);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar3 + -0xe28);\n        if (iVar8 == 0) {\n          fits_info.simple = (MagickBooleanType)((*pbVar25 & 0xdf) == 0x54);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar20);\n        if (iVar8 == 0) {\n          fits_info.bits_per_pixel = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar3 + -0xe18);\n        if (iVar8 == 0) {\n          fits_info.number_axes = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe10);\n        if (iVar8 == 0) {\n          fits_info.columns = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe08);\n        if (iVar8 == 0) {\n          fits_info.rows = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe00);\n        if (iVar8 == 0) {\n          fits_info.number_planes = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar8 == 0) {\n          fits_info.max_data = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar8 == 0) {\n          fits_info.min_data = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xde8);\n        if (iVar8 == 0) {\n          fits_info.zero = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xde0);\n        if (iVar8 == 0) {\n          fits_info.scale = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (keyword,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar8 == 0) {\n          if (comment == (char *)0x0) {\n            comment = (char *)(*(code *)PTR_ConstantString_003a90b4)(pbVar25);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(&comment,pbVar25);\n          }\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar8 == 0) {\n          iVar8 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar25,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar8 == 0) {\n            fits_info.endian = MSBEndian;\n          }\n          else {\n            fits_info.endian = LSBEndian;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (property,0x1000,PTR_UINT_003a8950 + -0xdcc,keyword);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar7,property,pbVar25,exception);\n        puVar9 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar7);\n      }\n      iVar8 = 0;\n      while( true ) {\n        uVar34 = (*(code *)PTR_TellBlob_003a931c)(iVar7);\n        lVar35 = (*(code *)PTR___moddi3_003a8a78)\n                           ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34,0,0xb40);\n        if ((lVar35 == 0) || (iVar8 == -1)) break;\n        iVar8 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n      }\n      if (fits_info.extend == MagickFalse) goto LAB_00224bd4;\n      if (fits_info.bits_per_pixel - 8U < 0x19) {\n        if (-1 < (int)((0x1000101U >> (fits_info.bits_per_pixel - 8U & 0x1f)) << 0x1f))\n        goto LAB_002245cc;\n      }\n      else if (fits_info.bits_per_pixel != 0x40) {\nLAB_002245cc:\n        if ((fits_info.bits_per_pixel & 0xffffffdfU) != 0xffffffc0) {\n          if (comment != (char *)0x0) {\n            comment = (char *)(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar24 = 400;\n          puVar20 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }\n    } while (((fits_info.simple == MagickFalse) || (3 < fits_info.number_axes - 1U)) ||\n            (lVar37 = (longlong)fits_info.columns * (longlong)fits_info.rows,\n            MVar11 = fits_info.simple, iVar8 = fits_info.columns, iVar12 = fits_info.rows,\n            lVar37 == 0));\n    local_1144 = iVar12;\n    local_1148 = iVar8;\n    fits_info.simple = MVar11;\n    fits_info.columns = local_1148;\n    fits_info.rows = local_1144;\n    if (comment != (char *)0x0) {\n      (*(code *)PTR_SetImageProperty_003a9534)\n                (iVar7,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,comment,exception);\n      comment = (char *)(*(code *)PTR_DestroyString_003a9074)(comment);\n    }\n    iVar8 = (int)lVar37;\n    lVar35 = CONCAT44(iVar8,puVar9);\n    iVar12 = (*(code *)PTR_EOFBlob_003a9748)(iVar7);\n    if (iVar12 != 0) {\n      puVar17 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar24 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar17);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar7 + 0x340,uVar24);\n      (*(code *)PTR_DestroyString_003a9074)(uVar24);\n    }\n    if (((MVar11 != MagickFalse) && (fits_info.number_axes - 1U < 4)) && (lVar37 != 0)) {\n      local_1138 = (undefined *)fits_info.number_planes;\n      if (0 < fits_info.number_planes) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = (undefined *)fits_info.bits_per_pixel;\n        local_1124 = fits_info.endian;\n        iVar8 = fits_info.bits_per_pixel;\n        if (0x40 < (uint)fits_info.bits_per_pixel) {\n          iVar8 = 0;\n        }\n        iVar12 = -1;\n        if (-1 < fits_info.bits_per_pixel) {\n          iVar12 = 1;\n        }\n        uVar13 = iVar8 - 1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar23 = 2 << (uVar13 & 0x1f);\n        local_1128 = iVar12 * fits_info.bits_per_pixel;\n        uVar16 = uVar23;\n        uVar26 = 1 >> (~uVar13 & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar16 = 0;\n          uVar26 = uVar23;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar16 - 1;\n        local_1120 = (uint)(local_111c < uVar16) + (uVar26 - 1);\n        goto LAB_00224900;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar7);\n      goto LAB_00224e60;\n    }\n    uVar24 = 0x1a5;\n    puVar20 = PTR_UINT_003a8950 + -0x2c10;\nLAB_00224c3c:\n    lVar35 = CONCAT44(iVar8,puVar9);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (exception,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar24,0x1a9,puVar20,\n               PTR_LAB_003a88e0 + 0x3e28,image_info->filename);\n    if (iVar7 != 0) {\n      (*(code *)PTR_CloseBlob_003a9688)(iVar7);\n      (*(code *)PTR_DestroyImageList_003a9510)(iVar7);\n    }\n    pIVar15 = (Image *)0x0;\n    dVar30 = in_f22_23;\n  }\nLAB_00224c7c:\n  uVar2 = (ulonglong)lVar35 >> 0x20;\n  if (iVar6 == *(int *)puVar4) {\n    return pIVar15;\n  }\n  uVar24 = (*(code *)PTR___stack_chk_fail_003a9064)();\n  lVar35 = CONCAT44(uVar24,(int)lVar35);\n  uVar24 = (int)uVar2;\nLAB_002252f8:\n  uVar2 = (ulonglong)lVar35 >> 0x20;\n  lVar35 = CONCAT44(uVar24,(int)lVar35);\n  in_f22_23 = dVar30;\n  if (((int)uVar2 == 0) && (bVar1 = 1 < local_1160._4_4_, bVar1)) goto LAB_00225060;\nLAB_0022511c:\n  (*(code *)PTR_SeekBlob_003a9328)(iVar7);\n  dVar32 = fits_info.max_data;\nLAB_002249f4:\n  fits_info.max_data = dVar32;\n  dVar30 = dVar30 - in_f22_23;\n  do {\n    iVar8 = (int)((ulonglong)lVar35 >> 0x20);\n    local_1140 = (uint)((ulonglong)dVar30 >> 0x20);\n    if (0.0 <= dVar30) {\n      dVar32 = *(double *)(local_1134 + 0x1438);\n    }\n    else {\n      local_1140 = local_1140 ^ 0x80000000;\n      dVar32 = local_1118;\n    }\n    if (in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar30,0))) {\n      dVar32 = *(double *)(local_1134 + 0x1438) / dVar30;\n    }\n    else {\n      dVar32 = dVar32 / in_f28_29;\n    }\n    uVar26 = *(int *)(iVar7 + 0x1c) - 1;\n    dVar32 = dVar32 * in_f30_31;\n    if (-1 < (int)uVar26) {\n      local_1160 = CONCAT44((int)uVar26 >> 0x1f,local_1160._4_4_);\n      uVar16 = uVar26;\n      while( true ) {\n        lVar35 = CONCAT44(iVar8,&pixel);\n        iVar12 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar7,0,uVar26,*(undefined4 *)(iVar7 + 0x18),1,exception);\n        if (iVar12 == 0) break;\n        if (0 < *(int *)(iVar7 + 0x18)) {\n          iVar8 = 0;\n          uVar13 = *(uint *)(iVar7 + 0x20);\n          dVar30 = fits_info.zero;\n          dVar33 = fits_info.scale;\n          do {\n            uVar13 = uVar13 >> 3;\n            if (uVar13 == 2) {\n              sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);\n              pixel = (double)(int)sVar18;\nLAB_00224ae8:\n              uVar13 = *(uint *)(iVar7 + 0x20);\n              if (uVar13 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar13 == 0x20) || (uVar13 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar13) {\n                if (uVar13 == 4) {\n                  pcVar29 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n                  pixel = (double)fVar31;\n                }\n                else {\n                  if ((uVar13 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar34 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar7);\n                  pixel = (double)(*(code *)PTR___floatdidf_003a8a60)\n                                            ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar29 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar13 != 1) {\nLAB_00224ad8:\n                pixel = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar14 = (*pcVar29)(iVar7);\n              uVar13 = *(uint *)(iVar7 + 0x20);\n              pixel = (double)iVar14;\n              if (uVar13 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar22 = &pixel;\n              if (*(int *)(iVar7 + 0x25c) != 2) {\n                pdVar22 = (double *)((int)&pixel + ((uVar13 >> 3) - 1));\n              }\n              *(byte *)pdVar22 = *(byte *)pdVar22 ^ 0x80;\n            }\n            iVar8 = iVar8 + 1;\n            iVar14 = *(int *)(iVar7 + 0x18);\n            pfVar21 = (float *)(iVar12 + *(int *)(*(int *)(iVar7 + 0x2d0) + 8) * 4);\n            iVar12 = iVar12 + *(int *)(iVar7 + 0x2c0) * 4;\n            *pfVar21 = (float)(((pixel - in_f22_23) * dVar33 + dVar30) * dVar32);\n          } while (iVar8 < iVar14);\n        }\n        lVar35 = CONCAT44(iVar8,&pixel);\n        iVar12 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar7,exception);\n        if ((iVar12 == 0) ||\n           ((*(int *)(iVar7 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar7,local_112c,local_1160._0_4_,uVar16,0,\n                                     *(undefined4 *)(iVar7 + 0x1c)), lVar35 = CONCAT44(iVar8,&pixel)\n            , local_114c == 0)))) break;\n        uVar26 = uVar26 - 1;\n        iVar8 = local_1160._0_4_ + -1;\n        lVar35 = CONCAT44(iVar8,&pixel);\n        local_1160 = CONCAT44((uint)(uVar16 - 1 < uVar16) + iVar8,local_1160._4_4_);\n        uVar16 = uVar16 - 1;\n        if (uVar26 == 0xffffffff) break;\n      }\n    }\n    iVar8 = (*(code *)PTR_EOFBlob_003a9748)(iVar7);\n    if (iVar8 != 0) {\n      puVar17 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar24 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar17);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar7 + 0x340,uVar24);\n      (*(code *)PTR_DestroyString_003a9074)(uVar24);\nLAB_00224e4c:\n      (*(code *)PTR_CloseBlob_003a9688)(iVar7);\n      if (local_114c == 0) {\nLAB_00224fc0:\n        pIVar15 = (Image *)(*(code *)PTR_DestroyImageList_003a9510)(iVar7);\n        dVar30 = in_f22_23;\n      }\n      else {\nLAB_00224e60:\n        pIVar15 = (Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(iVar7);\n        dVar30 = in_f22_23;\n      }\n      goto LAB_00224c7c;\n    }\n    if ((image_info->number_scenes != 0) &&\n       ((image_info->number_scenes + image_info->scene) - 1 <= *(uint *)(iVar7 + 0x26c)))\n    goto LAB_00224e4c;\n    if ((int)local_1154 < (int)(local_1138 + -1)) {\n      (*(code *)PTR_AcquireNextImage_003a8f90)(image_info,iVar7,exception);\n      iVar8 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar7);\n      if (iVar8 != 0) {\n        iVar7 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar7);\n        uVar34 = (*(code *)PTR_TellBlob_003a931c)(iVar7);\n        uVar36 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar7);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar7,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar34 >> 0x20),(int)uVar34,uVar36);\n        if (local_114c != 0) goto LAB_00224e34;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar7);\n      goto LAB_00224fc0;\n    }\nLAB_00224e34:\n    local_1154 = local_1154 + 1;\n    if (local_1154 == local_1138) goto LAB_00224e4c;\nLAB_00224900:\n    MVar11 = image_info->ping;\n    *(int *)(iVar7 + 0x18) = local_1148;\n    *(int *)(iVar7 + 0x1c) = local_1144;\n    *(int *)(iVar7 + 0x20) = local_1128;\n    *(EndianType *)(iVar7 + 0x25c) = local_1124;\n    *(undefined **)(iVar7 + 0x26c) = local_1154;\n    if (((MVar11 != MagickFalse) && (image_info->number_scenes != 0)) &&\n       ((undefined *)(image_info->number_scenes + image_info->scene + -1) <= local_1154))\n    goto LAB_00224e4c;\n    local_114c = (*(code *)PTR_SetImageExtent_003a94ac)(iVar7,local_1148,local_1144,exception);\n    if (local_114c == 0) goto LAB_00224fc0;\n    (*(code *)PTR_SetImageColorspace_003a8d40)(iVar7,3,exception);\n    in_f22_23 = fits_info.min_data;\n    if ((fits_info.min_data != 0.0) || (fits_info.max_data != 0.0)) {\n      if (local_1158 != (undefined *)0x0) goto LAB_002249dc;\n      dVar30 = 0.0;\n      dVar32 = dVar30;\n      goto LAB_002249f4;\n    }\n    if (((uint)local_1158 & 0xffffffdf) != 0xffffffc0) break;\n    dVar30 = fits_info.max_data;\n    lVar37 = (*(code *)PTR_TellBlob_003a931c)(iVar7);\n    if (lVar37 != -1) {\n      lVar35 = (ulonglong)*(uint *)(iVar7 + 0x18) * (ulonglong)*(uint *)(iVar7 + 0x1c);\n      uVar26 = *(uint *)(iVar7 + 0x20) >> 3;\n      if (uVar26 == 2) {\n        sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);\n        dVar30 = (double)(int)sVar18;\n      }\n      else if (uVar26 == 4) {\n        fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n        dVar30 = (double)fVar31;\n      }\n      else if (uVar26 == 1) {\n        iVar8 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n        dVar30 = (double)iVar8;\n      }\n      else {\n        dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n      }\n      local_1160._0_4_ = (int)((ulonglong)lVar35 >> 0x20);\n      uVar24 = local_1160._0_4_;\n      local_1160 = lVar35;\n      fits_info.min_data = dVar30;\n      fits_info.max_data = dVar30;\n      if (0xffffffff < lVar35) goto LAB_00225060;\n      goto LAB_002252f8;\n    }\n    dVar30 = dVar30 - in_f22_23;\n  } while( true );\n  dVar30 = 0.0;\n  dVar32 = dVar30;\n  if (local_1158 != (undefined *)0x0) {\nLAB_002249dc:\n    dVar30 = (double)(*(code *)PTR___floatdidf_003a8a60)(local_1120,local_111c);\n    dVar32 = dVar30;\n  }\n  goto LAB_002249f4;\nLAB_00225060:\n  iVar8 = 0;\n  uVar26 = 1;\n  dVar32 = dVar30;\n  dVar33 = dVar30;\n  do {\n    uVar16 = *(uint *)(iVar7 + 0x20) >> 3;\n    if (uVar16 == 2) {\n      sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);\n      dVar30 = (double)(int)sVar18;\n    }\n    else if (uVar16 == 4) {\n      fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n      dVar30 = (double)fVar31;\n    }\n    else if (uVar16 == 1) {\n      iVar12 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n      dVar30 = (double)iVar12;\n    }\n    else {\n      dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n    }\n    dVar5 = dVar30;\n    if (dVar33 <= dVar30) {\n      dVar5 = fits_info.min_data;\n    }\n    fits_info.min_data = dVar5;\n    uVar16 = uVar26 + 1;\n    dVar33 = dVar30;\n    if (dVar30 <= dVar32) {\n      dVar30 = dVar32;\n      dVar33 = fits_info.max_data;\n    }\n    fits_info.max_data = dVar33;\n    iVar8 = (uint)(uVar16 < uVar26) + iVar8;\n    uVar26 = uVar16;\n    dVar32 = dVar30;\n    dVar33 = fits_info.min_data;\n    in_f22_23 = fits_info.min_data;\n  } while (lVar35 != CONCAT44(iVar8,uVar16));\n  goto LAB_0022511c;\n}\n\n" comment comment comment comment comment (function_definition "Image * ReadFITSImage(ImageInfo *image_info,ExceptionInfo *exception)\n\n{\n  bool bVar1;\n  ulonglong uVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  double dVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  undefined1 *puVar9;\n  int *piVar10;\n  byte bVar19;\n  MagickBooleanType MVar11;\n  int iVar12;\n  uint uVar13;\n  int iVar14;\n  Image *pIVar15;\n  uint uVar16;\n  short sVar18;\n  undefined4 *puVar17;\n  undefined *puVar20;\n  float *pfVar21;\n  double *pdVar22;\n  uint uVar23;\n  undefined4 uVar24;\n  byte *pbVar25;\n  uint uVar26;\n  undefined4 unaff_s3;\n  undefined *puVar27;\n  undefined4 unaff_s5;\n  undefined *puVar28;\n  code *pcVar29;\n  double dVar30;\n  float fVar31;\n  double dVar32;\n  double in_f22_23;\n  double dVar33;\n  double in_f28_29;\n  double in_f30_31;\n  undefined8 uVar34;\n  longlong lVar35;\n  undefined8 uVar36;\n  longlong lVar37;\n  undefined8 local_1160;\n  undefined *local_1158;\n  undefined *local_1154;\n  int local_114c;\n  int local_1148;\n  int local_1144;\n  uint local_1140;\n  undefined *local_1138;\n  undefined *local_1134;\n  undefined *local_112c;\n  int local_1128;\n  EndianType local_1124;\n  int local_1120;\n  uint local_111c;\n  double local_1118;\n  char *comment;\n  double pixel;\n  FITSInfo fits_info;\n  char keyword [9];\n  char value [73];\n  char property [4096];\n  \n  puVar4 = PTR___stack_chk_guard_003a9230;\n  lVar35 = CONCAT44(unaff_s3,unaff_s5);\n  iVar6 = *(int *)PTR___stack_chk_guard_003a9230;\n  if (image_info == (ImageInfo *)0x0) {\n    pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                                  PTR_UINT_003a8950 + -0xc60);\n    return pIVar15;\n  }\n  if (image_info->signature != 0xabacadab) {\n    pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                                  PTR_UINT_003a8950 + -0xc60);\n    return pIVar15;\n  }\n  if (image_info->debug != MagickFalse) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,image_info->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n    pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                                  PTR_UINT_003a8950 + -0xc60);\n    return pIVar15;\n  }\n  if (exception->signature != 0xabacadab) {\n    pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                                  PTR_UINT_003a8950 + -0xc60);\n    return pIVar15;\n  }\n  iVar7 = (*(code *)PTR_AcquireImage_003a960c)(image_info,exception);\n  local_114c = (*(code *)PTR_OpenBlob_003a924c)(image_info,iVar7,2,exception);\n  puVar3 = PTR_UINT_003a8950;\n  puVar20 = PTR_LAB_003a88e0;\n  if (local_114c == 0) {\n    (*(code *)PTR_DestroyImageList_003a9510)(iVar7);\n    pIVar15 = (Image *)0x0;\n    dVar30 = in_f22_23;\n  }\n  else {\n    local_1158 = PTR_UINT_003a8950;\n    local_1134 = PTR_LAB_003a88e0;\n    local_1154 = PTR_UINT_003a8950;\n    (*(code *)PTR_memset_003a96d4)(&fits_info,0,0x48);\n    fits_info.scale = *(double *)(puVar20 + 0x1438);\n    fits_info.bits_per_pixel = 8;\n    fits_info.columns = 1;\n    fits_info.rows = 1;\n    fits_info.number_planes = 1;\n    puVar20 = PTR_UINT_003a8950 + -0xe20;\n    puVar27 = PTR_s_t_to_left_003a88e4 + 0x544;\n    fits_info.endian = MSBEndian;\n    puVar28 = PTR_UINT_003a8950 + -0xe30;\n    local_1160 = CONCAT44(puVar20,local_1160._4_4_);\n    comment = (char *)0x0;\n    puVar9 = PTR_UINT_003a8950;\n    do {\n      iVar8 = (*(code *)PTR_EOFBlob_003a9748)(iVar7);\n      if (iVar8 != 0) {\nLAB_00224bd4:\n        lVar37 = (longlong)fits_info.columns * (longlong)fits_info.rows;\n        MVar11 = fits_info.simple;\n        iVar8 = fits_info.columns;\n        iVar12 = fits_info.rows;\n        break;\n      }\n      puVar9 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar7);\n      while (puVar9 == (undefined1 *)0x0) {\n        iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(iVar7,8,keyword);\n        if (iVar8 != 8) break;\n        piVar10 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar25 = (byte *)keyword;\n        do {\n          if ((*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0) break;\n          puVar9 = puVar9 + 1;\n          bVar19 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar25 = bVar19;\n          pbVar25 = pbVar25 + 1;\n        } while (puVar9 != &DAT_00000008);\n        pbVar25 = (byte *)value;\n        keyword[(int)puVar9] = '\0';\n        iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(iVar7,0x48,pbVar25);\n        value[0x48] = '\0';\n        if (iVar8 != 0x48) break;\n        if (value[0] == '=') {\n          pbVar25 = (byte *)(value + 2);\n          while ((*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0) {\n            pbVar25 = pbVar25 + 1;\n          }\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar27);\n        if (iVar8 == 0) break;\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar28);\n        if (iVar8 == 0) {\n          fits_info.extend = (MagickBooleanType)((*pbVar25 & 0xdf) == 0x54);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar3 + -0xe28);\n        if (iVar8 == 0) {\n          fits_info.simple = (MagickBooleanType)((*pbVar25 & 0xdf) == 0x54);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar20);\n        if (iVar8 == 0) {\n          fits_info.bits_per_pixel = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar3 + -0xe18);\n        if (iVar8 == 0) {\n          fits_info.number_axes = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe10);\n        if (iVar8 == 0) {\n          fits_info.columns = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe08);\n        if (iVar8 == 0) {\n          fits_info.rows = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe00);\n        if (iVar8 == 0) {\n          fits_info.number_planes = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar8 == 0) {\n          fits_info.max_data = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar8 == 0) {\n          fits_info.min_data = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xde8);\n        if (iVar8 == 0) {\n          fits_info.zero = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xde0);\n        if (iVar8 == 0) {\n          fits_info.scale = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (keyword,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar8 == 0) {\n          if (comment == (char *)0x0) {\n            comment = (char *)(*(code *)PTR_ConstantString_003a90b4)(pbVar25);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(&comment,pbVar25);\n          }\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar8 == 0) {\n          iVar8 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar25,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar8 == 0) {\n            fits_info.endian = MSBEndian;\n          }\n          else {\n            fits_info.endian = LSBEndian;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (property,0x1000,PTR_UINT_003a8950 + -0xdcc,keyword);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar7,property,pbVar25,exception);\n        puVar9 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar7);\n      }\n      iVar8 = 0;\n      while( true ) {\n        uVar34 = (*(code *)PTR_TellBlob_003a931c)(iVar7);\n        lVar35 = (*(code *)PTR___moddi3_003a8a78)\n                           ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34,0,0xb40);\n        if ((lVar35 == 0) || (iVar8 == -1)) break;\n        iVar8 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n      }\n      if (fits_info.extend == MagickFalse) goto LAB_00224bd4;\n      if (fits_info.bits_per_pixel - 8U < 0x19) {\n        if (-1 < (int)((0x1000101U >> (fits_info.bits_per_pixel - 8U & 0x1f)) << 0x1f))\n        goto LAB_002245cc;\n      }\n      else if (fits_info.bits_per_pixel != 0x40) {\nLAB_002245cc:\n        if ((fits_info.bits_per_pixel & 0xffffffdfU) != 0xffffffc0) {\n          if (comment != (char *)0x0) {\n            comment = (char *)(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar24 = 400;\n          puVar20 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }\n    } while (((fits_info.simple == MagickFalse) || (3 < fits_info.number_axes - 1U)) ||\n            (lVar37 = (longlong)fits_info.columns * (longlong)fits_info.rows,\n            MVar11 = fits_info.simple, iVar8 = fits_info.columns, iVar12 = fits_info.rows,\n            lVar37 == 0));\n    local_1144 = iVar12;\n    local_1148 = iVar8;\n    fits_info.simple = MVar11;\n    fits_info.columns = local_1148;\n    fits_info.rows = local_1144;\n    if (comment != (char *)0x0) {\n      (*(code *)PTR_SetImageProperty_003a9534)\n                (iVar7,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,comment,exception);\n      comment = (char *)(*(code *)PTR_DestroyString_003a9074)(comment);\n    }\n    iVar8 = (int)lVar37;\n    lVar35 = CONCAT44(iVar8,puVar9);\n    iVar12 = (*(code *)PTR_EOFBlob_003a9748)(iVar7);\n    if (iVar12 != 0) {\n      puVar17 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar24 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar17);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar7 + 0x340,uVar24);\n      (*(code *)PTR_DestroyString_003a9074)(uVar24);\n    }\n    if (((MVar11 != MagickFalse) && (fits_info.number_axes - 1U < 4)) && (lVar37 != 0)) {\n      local_1138 = (undefined *)fits_info.number_planes;\n      if (0 < fits_info.number_planes) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = (undefined *)fits_info.bits_per_pixel;\n        local_1124 = fits_info.endian;\n        iVar8 = fits_info.bits_per_pixel;\n        if (0x40 < (uint)fits_info.bits_per_pixel) {\n          iVar8 = 0;\n        }\n        iVar12 = -1;\n        if (-1 < fits_info.bits_per_pixel) {\n          iVar12 = 1;\n        }\n        uVar13 = iVar8 - 1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar23 = 2 << (uVar13 & 0x1f);\n        local_1128 = iVar12 * fits_info.bits_per_pixel;\n        uVar16 = uVar23;\n        uVar26 = 1 >> (~uVar13 & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar16 = 0;\n          uVar26 = uVar23;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar16 - 1;\n        local_1120 = (uint)(local_111c < uVar16) + (uVar26 - 1);\n        goto LAB_00224900;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar7);\n      goto LAB_00224e60;\n    }\n    uVar24 = 0x1a5;\n    puVar20 = PTR_UINT_003a8950 + -0x2c10;\nLAB_00224c3c:\n    lVar35 = CONCAT44(iVar8,puVar9);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (exception,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar24,0x1a9,puVar20,\n               PTR_LAB_003a88e0 + 0x3e28,image_info->filename);\n    if (iVar7 != 0) {\n      (*(code *)PTR_CloseBlob_003a9688)(iVar7);\n      (*(code *)PTR_DestroyImageList_003a9510)(iVar7);\n    }\n    pIVar15 = (Image *)0x0;\n    dVar30 = in_f22_23;\n  }\nLAB_00224c7c:\n  uVar2 = (ulonglong)lVar35 >> 0x20;\n  if (iVar6 == *(int *)puVar4) {\n    return pIVar15;\n  }\n  uVar24 = (*(code *)PTR___stack_chk_fail_003a9064)();\n  lVar35 = CONCAT44(uVar24,(int)lVar35);\n  uVar24 = (int)uVar2;\nLAB_002252f8:\n  uVar2 = (ulonglong)lVar35 >> 0x20;\n  lVar35 = CONCAT44(uVar24,(int)lVar35);\n  in_f22_23 = dVar30;\n  if (((int)uVar2 == 0) && (bVar1 = 1 < local_1160._4_4_, bVar1)) goto LAB_00225060;\nLAB_0022511c:\n  (*(code *)PTR_SeekBlob_003a9328)(iVar7);\n  dVar32 = fits_info.max_data;\nLAB_002249f4:\n  fits_info.max_data = dVar32;\n  dVar30 = dVar30 - in_f22_23;\n  do {\n    iVar8 = (int)((ulonglong)lVar35 >> 0x20);\n    local_1140 = (uint)((ulonglong)dVar30 >> 0x20);\n    if (0.0 <= dVar30) {\n      dVar32 = *(double *)(local_1134 + 0x1438);\n    }\n    else {\n      local_1140 = local_1140 ^ 0x80000000;\n      dVar32 = local_1118;\n    }\n    if (in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar30,0))) {\n      dVar32 = *(double *)(local_1134 + 0x1438) / dVar30;\n    }\n    else {\n      dVar32 = dVar32 / in_f28_29;\n    }\n    uVar26 = *(int *)(iVar7 + 0x1c) - 1;\n    dVar32 = dVar32 * in_f30_31;\n    if (-1 < (int)uVar26) {\n      local_1160 = CONCAT44((int)uVar26 >> 0x1f,local_1160._4_4_);\n      uVar16 = uVar26;\n      while( true ) {\n        lVar35 = CONCAT44(iVar8,&pixel);\n        iVar12 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar7,0,uVar26,*(undefined4 *)(iVar7 + 0x18),1,exception);\n        if (iVar12 == 0) break;\n        if (0 < *(int *)(iVar7 + 0x18)) {\n          iVar8 = 0;\n          uVar13 = *(uint *)(iVar7 + 0x20);\n          dVar30 = fits_info.zero;\n          dVar33 = fits_info.scale;\n          do {\n            uVar13 = uVar13 >> 3;\n            if (uVar13 == 2) {\n              sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);\n              pixel = (double)(int)sVar18;\nLAB_00224ae8:\n              uVar13 = *(uint *)(iVar7 + 0x20);\n              if (uVar13 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar13 == 0x20) || (uVar13 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar13) {\n                if (uVar13 == 4) {\n                  pcVar29 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n                  pixel = (double)fVar31;\n                }\n                else {\n                  if ((uVar13 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar34 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar7);\n                  pixel = (double)(*(code *)PTR___floatdidf_003a8a60)\n                                            ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar29 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar13 != 1) {\nLAB_00224ad8:\n                pixel = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar14 = (*pcVar29)(iVar7);\n              uVar13 = *(uint *)(iVar7 + 0x20);\n              pixel = (double)iVar14;\n              if (uVar13 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar22 = &pixel;\n              if (*(int *)(iVar7 + 0x25c) != 2) {\n                pdVar22 = (double *)((int)&pixel + ((uVar13 >> 3) - 1));\n              }\n              *(byte *)pdVar22 = *(byte *)pdVar22 ^ 0x80;\n            }\n            iVar8 = iVar8 + 1;\n            iVar14 = *(int *)(iVar7 + 0x18);\n            pfVar21 = (float *)(iVar12 + *(int *)(*(int *)(iVar7 + 0x2d0) + 8) * 4);\n            iVar12 = iVar12 + *(int *)(iVar7 + 0x2c0) * 4;\n            *pfVar21 = (float)(((pixel - in_f22_23) * dVar33 + dVar30) * dVar32);\n          } while (iVar8 < iVar14);\n        }\n        lVar35 = CONCAT44(iVar8,&pixel);\n        iVar12 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar7,exception);\n        if ((iVar12 == 0) ||\n           ((*(int *)(iVar7 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar7,local_112c,local_1160._0_4_,uVar16,0,\n                                     *(undefined4 *)(iVar7 + 0x1c)), lVar35 = CONCAT44(iVar8,&pixel)\n            , local_114c == 0)))) break;\n        uVar26 = uVar26 - 1;\n        iVar8 = local_1160._0_4_ + -1;\n        lVar35 = CONCAT44(iVar8,&pixel);\n        local_1160 = CONCAT44((uint)(uVar16 - 1 < uVar16) + iVar8,local_1160._4_4_);\n        uVar16 = uVar16 - 1;\n        if (uVar26 == 0xffffffff) break;\n      }\n    }\n    iVar8 = (*(code *)PTR_EOFBlob_003a9748)(iVar7);\n    if (iVar8 != 0) {\n      puVar17 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar24 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar17);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar7 + 0x340,uVar24);\n      (*(code *)PTR_DestroyString_003a9074)(uVar24);\nLAB_00224e4c:\n      (*(code *)PTR_CloseBlob_003a9688)(iVar7);\n      if (local_114c == 0) {\nLAB_00224fc0:\n        pIVar15 = (Image *)(*(code *)PTR_DestroyImageList_003a9510)(iVar7);\n        dVar30 = in_f22_23;\n      }\n      else {\nLAB_00224e60:\n        pIVar15 = (Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(iVar7);\n        dVar30 = in_f22_23;\n      }\n      goto LAB_00224c7c;\n    }\n    if ((image_info->number_scenes != 0) &&\n       ((image_info->number_scenes + image_info->scene) - 1 <= *(uint *)(iVar7 + 0x26c)))\n    goto LAB_00224e4c;\n    if ((int)local_1154 < (int)(local_1138 + -1)) {\n      (*(code *)PTR_AcquireNextImage_003a8f90)(image_info,iVar7,exception);\n      iVar8 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar7);\n      if (iVar8 != 0) {\n        iVar7 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar7);\n        uVar34 = (*(code *)PTR_TellBlob_003a931c)(iVar7);\n        uVar36 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar7);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar7,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar34 >> 0x20),(int)uVar34,uVar36);\n        if (local_114c != 0) goto LAB_00224e34;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar7);\n      goto LAB_00224fc0;\n    }\nLAB_00224e34:\n    local_1154 = local_1154 + 1;\n    if (local_1154 == local_1138) goto LAB_00224e4c;\nLAB_00224900:\n    MVar11 = image_info->ping;\n    *(int *)(iVar7 + 0x18) = local_1148;\n    *(int *)(iVar7 + 0x1c) = local_1144;\n    *(int *)(iVar7 + 0x20) = local_1128;\n    *(EndianType *)(iVar7 + 0x25c) = local_1124;\n    *(undefined **)(iVar7 + 0x26c) = local_1154;\n    if (((MVar11 != MagickFalse) && (image_info->number_scenes != 0)) &&\n       ((undefined *)(image_info->number_scenes + image_info->scene + -1) <= local_1154))\n    goto LAB_00224e4c;\n    local_114c = (*(code *)PTR_SetImageExtent_003a94ac)(iVar7,local_1148,local_1144,exception);\n    if (local_114c == 0) goto LAB_00224fc0;\n    (*(code *)PTR_SetImageColorspace_003a8d40)(iVar7,3,exception);\n    in_f22_23 = fits_info.min_data;\n    if ((fits_info.min_data != 0.0) || (fits_info.max_data != 0.0)) {\n      if (local_1158 != (undefined *)0x0) goto LAB_002249dc;\n      dVar30 = 0.0;\n      dVar32 = dVar30;\n      goto LAB_002249f4;\n    }\n    if (((uint)local_1158 & 0xffffffdf) != 0xffffffc0) break;\n    dVar30 = fits_info.max_data;\n    lVar37 = (*(code *)PTR_TellBlob_003a931c)(iVar7);\n    if (lVar37 != -1) {\n      lVar35 = (ulonglong)*(uint *)(iVar7 + 0x18) * (ulonglong)*(uint *)(iVar7 + 0x1c);\n      uVar26 = *(uint *)(iVar7 + 0x20) >> 3;\n      if (uVar26 == 2) {\n        sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);\n        dVar30 = (double)(int)sVar18;\n      }\n      else if (uVar26 == 4) {\n        fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n        dVar30 = (double)fVar31;\n      }\n      else if (uVar26 == 1) {\n        iVar8 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n        dVar30 = (double)iVar8;\n      }\n      else {\n        dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n      }\n      local_1160._0_4_ = (int)((ulonglong)lVar35 >> 0x20);\n      uVar24 = local_1160._0_4_;\n      local_1160 = lVar35;\n      fits_info.min_data = dVar30;\n      fits_info.max_data = dVar30;\n      if (0xffffffff < lVar35) goto LAB_00225060;\n      goto LAB_002252f8;\n    }\n    dVar30 = dVar30 - in_f22_23;\n  } while( true );\n  dVar30 = 0.0;\n  dVar32 = dVar30;\n  if (local_1158 != (undefined *)0x0) {\nLAB_002249dc:\n    dVar30 = (double)(*(code *)PTR___floatdidf_003a8a60)(local_1120,local_111c);\n    dVar32 = dVar30;\n  }\n  goto LAB_002249f4;\nLAB_00225060:\n  iVar8 = 0;\n  uVar26 = 1;\n  dVar32 = dVar30;\n  dVar33 = dVar30;\n  do {\n    uVar16 = *(uint *)(iVar7 + 0x20) >> 3;\n    if (uVar16 == 2) {\n      sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);\n      dVar30 = (double)(int)sVar18;\n    }\n    else if (uVar16 == 4) {\n      fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n      dVar30 = (double)fVar31;\n    }\n    else if (uVar16 == 1) {\n      iVar12 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n      dVar30 = (double)iVar12;\n    }\n    else {\n      dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n    }\n    dVar5 = dVar30;\n    if (dVar33 <= dVar30) {\n      dVar5 = fits_info.min_data;\n    }\n    fits_info.min_data = dVar5;\n    uVar16 = uVar26 + 1;\n    dVar33 = dVar30;\n    if (dVar30 <= dVar32) {\n      dVar30 = dVar32;\n      dVar33 = fits_info.max_data;\n    }\n    fits_info.max_data = dVar33;\n    iVar8 = (uint)(uVar16 < uVar26) + iVar8;\n    uVar26 = uVar16;\n    dVar32 = dVar30;\n    dVar33 = fits_info.min_data;\n    in_f22_23 = fits_info.min_data;\n  } while (lVar35 != CONCAT44(iVar8,uVar16));\n  goto LAB_0022511c;\n}" type_identifier (pointer_declarator "* ReadFITSImage(ImageInfo *image_info,ExceptionInfo *exception)" * (function_declarator "ReadFITSImage(ImageInfo *image_info,ExceptionInfo *exception)" identifier (parameter_list "(ImageInfo *image_info,ExceptionInfo *exception)" ( (parameter_declaration "ImageInfo *image_info" type_identifier (pointer_declarator "*image_info" * identifier)) , (parameter_declaration "ExceptionInfo *exception" type_identifier (pointer_declarator "*exception" * identifier)) )))) (compound_statement "{\n  bool bVar1;\n  ulonglong uVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  double dVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  undefined1 *puVar9;\n  int *piVar10;\n  byte bVar19;\n  MagickBooleanType MVar11;\n  int iVar12;\n  uint uVar13;\n  int iVar14;\n  Image *pIVar15;\n  uint uVar16;\n  short sVar18;\n  undefined4 *puVar17;\n  undefined *puVar20;\n  float *pfVar21;\n  double *pdVar22;\n  uint uVar23;\n  undefined4 uVar24;\n  byte *pbVar25;\n  uint uVar26;\n  undefined4 unaff_s3;\n  undefined *puVar27;\n  undefined4 unaff_s5;\n  undefined *puVar28;\n  code *pcVar29;\n  double dVar30;\n  float fVar31;\n  double dVar32;\n  double in_f22_23;\n  double dVar33;\n  double in_f28_29;\n  double in_f30_31;\n  undefined8 uVar34;\n  longlong lVar35;\n  undefined8 uVar36;\n  longlong lVar37;\n  undefined8 local_1160;\n  undefined *local_1158;\n  undefined *local_1154;\n  int local_114c;\n  int local_1148;\n  int local_1144;\n  uint local_1140;\n  undefined *local_1138;\n  undefined *local_1134;\n  undefined *local_112c;\n  int local_1128;\n  EndianType local_1124;\n  int local_1120;\n  uint local_111c;\n  double local_1118;\n  char *comment;\n  double pixel;\n  FITSInfo fits_info;\n  char keyword [9];\n  char value [73];\n  char property [4096];\n  \n  puVar4 = PTR___stack_chk_guard_003a9230;\n  lVar35 = CONCAT44(unaff_s3,unaff_s5);\n  iVar6 = *(int *)PTR___stack_chk_guard_003a9230;\n  if (image_info == (ImageInfo *)0x0) {\n    pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                                  PTR_UINT_003a8950 + -0xc60);\n    return pIVar15;\n  }\n  if (image_info->signature != 0xabacadab) {\n    pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                                  PTR_UINT_003a8950 + -0xc60);\n    return pIVar15;\n  }\n  if (image_info->debug != MagickFalse) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,image_info->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n    pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                                  PTR_UINT_003a8950 + -0xc60);\n    return pIVar15;\n  }\n  if (exception->signature != 0xabacadab) {\n    pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                                  PTR_UINT_003a8950 + -0xc60);\n    return pIVar15;\n  }\n  iVar7 = (*(code *)PTR_AcquireImage_003a960c)(image_info,exception);\n  local_114c = (*(code *)PTR_OpenBlob_003a924c)(image_info,iVar7,2,exception);\n  puVar3 = PTR_UINT_003a8950;\n  puVar20 = PTR_LAB_003a88e0;\n  if (local_114c == 0) {\n    (*(code *)PTR_DestroyImageList_003a9510)(iVar7);\n    pIVar15 = (Image *)0x0;\n    dVar30 = in_f22_23;\n  }\n  else {\n    local_1158 = PTR_UINT_003a8950;\n    local_1134 = PTR_LAB_003a88e0;\n    local_1154 = PTR_UINT_003a8950;\n    (*(code *)PTR_memset_003a96d4)(&fits_info,0,0x48);\n    fits_info.scale = *(double *)(puVar20 + 0x1438);\n    fits_info.bits_per_pixel = 8;\n    fits_info.columns = 1;\n    fits_info.rows = 1;\n    fits_info.number_planes = 1;\n    puVar20 = PTR_UINT_003a8950 + -0xe20;\n    puVar27 = PTR_s_t_to_left_003a88e4 + 0x544;\n    fits_info.endian = MSBEndian;\n    puVar28 = PTR_UINT_003a8950 + -0xe30;\n    local_1160 = CONCAT44(puVar20,local_1160._4_4_);\n    comment = (char *)0x0;\n    puVar9 = PTR_UINT_003a8950;\n    do {\n      iVar8 = (*(code *)PTR_EOFBlob_003a9748)(iVar7);\n      if (iVar8 != 0) {\nLAB_00224bd4:\n        lVar37 = (longlong)fits_info.columns * (longlong)fits_info.rows;\n        MVar11 = fits_info.simple;\n        iVar8 = fits_info.columns;\n        iVar12 = fits_info.rows;\n        break;\n      }\n      puVar9 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar7);\n      while (puVar9 == (undefined1 *)0x0) {\n        iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(iVar7,8,keyword);\n        if (iVar8 != 8) break;\n        piVar10 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar25 = (byte *)keyword;\n        do {\n          if ((*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0) break;\n          puVar9 = puVar9 + 1;\n          bVar19 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar25 = bVar19;\n          pbVar25 = pbVar25 + 1;\n        } while (puVar9 != &DAT_00000008);\n        pbVar25 = (byte *)value;\n        keyword[(int)puVar9] = '\0';\n        iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(iVar7,0x48,pbVar25);\n        value[0x48] = '\0';\n        if (iVar8 != 0x48) break;\n        if (value[0] == '=') {\n          pbVar25 = (byte *)(value + 2);\n          while ((*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0) {\n            pbVar25 = pbVar25 + 1;\n          }\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar27);\n        if (iVar8 == 0) break;\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar28);\n        if (iVar8 == 0) {\n          fits_info.extend = (MagickBooleanType)((*pbVar25 & 0xdf) == 0x54);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar3 + -0xe28);\n        if (iVar8 == 0) {\n          fits_info.simple = (MagickBooleanType)((*pbVar25 & 0xdf) == 0x54);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar20);\n        if (iVar8 == 0) {\n          fits_info.bits_per_pixel = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar3 + -0xe18);\n        if (iVar8 == 0) {\n          fits_info.number_axes = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe10);\n        if (iVar8 == 0) {\n          fits_info.columns = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe08);\n        if (iVar8 == 0) {\n          fits_info.rows = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe00);\n        if (iVar8 == 0) {\n          fits_info.number_planes = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar8 == 0) {\n          fits_info.max_data = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar8 == 0) {\n          fits_info.min_data = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xde8);\n        if (iVar8 == 0) {\n          fits_info.zero = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xde0);\n        if (iVar8 == 0) {\n          fits_info.scale = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (keyword,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar8 == 0) {\n          if (comment == (char *)0x0) {\n            comment = (char *)(*(code *)PTR_ConstantString_003a90b4)(pbVar25);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(&comment,pbVar25);\n          }\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar8 == 0) {\n          iVar8 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar25,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar8 == 0) {\n            fits_info.endian = MSBEndian;\n          }\n          else {\n            fits_info.endian = LSBEndian;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (property,0x1000,PTR_UINT_003a8950 + -0xdcc,keyword);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar7,property,pbVar25,exception);\n        puVar9 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar7);\n      }\n      iVar8 = 0;\n      while( true ) {\n        uVar34 = (*(code *)PTR_TellBlob_003a931c)(iVar7);\n        lVar35 = (*(code *)PTR___moddi3_003a8a78)\n                           ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34,0,0xb40);\n        if ((lVar35 == 0) || (iVar8 == -1)) break;\n        iVar8 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n      }\n      if (fits_info.extend == MagickFalse) goto LAB_00224bd4;\n      if (fits_info.bits_per_pixel - 8U < 0x19) {\n        if (-1 < (int)((0x1000101U >> (fits_info.bits_per_pixel - 8U & 0x1f)) << 0x1f))\n        goto LAB_002245cc;\n      }\n      else if (fits_info.bits_per_pixel != 0x40) {\nLAB_002245cc:\n        if ((fits_info.bits_per_pixel & 0xffffffdfU) != 0xffffffc0) {\n          if (comment != (char *)0x0) {\n            comment = (char *)(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar24 = 400;\n          puVar20 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }\n    } while (((fits_info.simple == MagickFalse) || (3 < fits_info.number_axes - 1U)) ||\n            (lVar37 = (longlong)fits_info.columns * (longlong)fits_info.rows,\n            MVar11 = fits_info.simple, iVar8 = fits_info.columns, iVar12 = fits_info.rows,\n            lVar37 == 0));\n    local_1144 = iVar12;\n    local_1148 = iVar8;\n    fits_info.simple = MVar11;\n    fits_info.columns = local_1148;\n    fits_info.rows = local_1144;\n    if (comment != (char *)0x0) {\n      (*(code *)PTR_SetImageProperty_003a9534)\n                (iVar7,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,comment,exception);\n      comment = (char *)(*(code *)PTR_DestroyString_003a9074)(comment);\n    }\n    iVar8 = (int)lVar37;\n    lVar35 = CONCAT44(iVar8,puVar9);\n    iVar12 = (*(code *)PTR_EOFBlob_003a9748)(iVar7);\n    if (iVar12 != 0) {\n      puVar17 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar24 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar17);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar7 + 0x340,uVar24);\n      (*(code *)PTR_DestroyString_003a9074)(uVar24);\n    }\n    if (((MVar11 != MagickFalse) && (fits_info.number_axes - 1U < 4)) && (lVar37 != 0)) {\n      local_1138 = (undefined *)fits_info.number_planes;\n      if (0 < fits_info.number_planes) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = (undefined *)fits_info.bits_per_pixel;\n        local_1124 = fits_info.endian;\n        iVar8 = fits_info.bits_per_pixel;\n        if (0x40 < (uint)fits_info.bits_per_pixel) {\n          iVar8 = 0;\n        }\n        iVar12 = -1;\n        if (-1 < fits_info.bits_per_pixel) {\n          iVar12 = 1;\n        }\n        uVar13 = iVar8 - 1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar23 = 2 << (uVar13 & 0x1f);\n        local_1128 = iVar12 * fits_info.bits_per_pixel;\n        uVar16 = uVar23;\n        uVar26 = 1 >> (~uVar13 & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar16 = 0;\n          uVar26 = uVar23;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar16 - 1;\n        local_1120 = (uint)(local_111c < uVar16) + (uVar26 - 1);\n        goto LAB_00224900;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar7);\n      goto LAB_00224e60;\n    }\n    uVar24 = 0x1a5;\n    puVar20 = PTR_UINT_003a8950 + -0x2c10;\nLAB_00224c3c:\n    lVar35 = CONCAT44(iVar8,puVar9);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (exception,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar24,0x1a9,puVar20,\n               PTR_LAB_003a88e0 + 0x3e28,image_info->filename);\n    if (iVar7 != 0) {\n      (*(code *)PTR_CloseBlob_003a9688)(iVar7);\n      (*(code *)PTR_DestroyImageList_003a9510)(iVar7);\n    }\n    pIVar15 = (Image *)0x0;\n    dVar30 = in_f22_23;\n  }\nLAB_00224c7c:\n  uVar2 = (ulonglong)lVar35 >> 0x20;\n  if (iVar6 == *(int *)puVar4) {\n    return pIVar15;\n  }\n  uVar24 = (*(code *)PTR___stack_chk_fail_003a9064)();\n  lVar35 = CONCAT44(uVar24,(int)lVar35);\n  uVar24 = (int)uVar2;\nLAB_002252f8:\n  uVar2 = (ulonglong)lVar35 >> 0x20;\n  lVar35 = CONCAT44(uVar24,(int)lVar35);\n  in_f22_23 = dVar30;\n  if (((int)uVar2 == 0) && (bVar1 = 1 < local_1160._4_4_, bVar1)) goto LAB_00225060;\nLAB_0022511c:\n  (*(code *)PTR_SeekBlob_003a9328)(iVar7);\n  dVar32 = fits_info.max_data;\nLAB_002249f4:\n  fits_info.max_data = dVar32;\n  dVar30 = dVar30 - in_f22_23;\n  do {\n    iVar8 = (int)((ulonglong)lVar35 >> 0x20);\n    local_1140 = (uint)((ulonglong)dVar30 >> 0x20);\n    if (0.0 <= dVar30) {\n      dVar32 = *(double *)(local_1134 + 0x1438);\n    }\n    else {\n      local_1140 = local_1140 ^ 0x80000000;\n      dVar32 = local_1118;\n    }\n    if (in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar30,0))) {\n      dVar32 = *(double *)(local_1134 + 0x1438) / dVar30;\n    }\n    else {\n      dVar32 = dVar32 / in_f28_29;\n    }\n    uVar26 = *(int *)(iVar7 + 0x1c) - 1;\n    dVar32 = dVar32 * in_f30_31;\n    if (-1 < (int)uVar26) {\n      local_1160 = CONCAT44((int)uVar26 >> 0x1f,local_1160._4_4_);\n      uVar16 = uVar26;\n      while( true ) {\n        lVar35 = CONCAT44(iVar8,&pixel);\n        iVar12 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar7,0,uVar26,*(undefined4 *)(iVar7 + 0x18),1,exception);\n        if (iVar12 == 0) break;\n        if (0 < *(int *)(iVar7 + 0x18)) {\n          iVar8 = 0;\n          uVar13 = *(uint *)(iVar7 + 0x20);\n          dVar30 = fits_info.zero;\n          dVar33 = fits_info.scale;\n          do {\n            uVar13 = uVar13 >> 3;\n            if (uVar13 == 2) {\n              sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);\n              pixel = (double)(int)sVar18;\nLAB_00224ae8:\n              uVar13 = *(uint *)(iVar7 + 0x20);\n              if (uVar13 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar13 == 0x20) || (uVar13 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar13) {\n                if (uVar13 == 4) {\n                  pcVar29 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n                  pixel = (double)fVar31;\n                }\n                else {\n                  if ((uVar13 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar34 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar7);\n                  pixel = (double)(*(code *)PTR___floatdidf_003a8a60)\n                                            ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar29 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar13 != 1) {\nLAB_00224ad8:\n                pixel = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar14 = (*pcVar29)(iVar7);\n              uVar13 = *(uint *)(iVar7 + 0x20);\n              pixel = (double)iVar14;\n              if (uVar13 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar22 = &pixel;\n              if (*(int *)(iVar7 + 0x25c) != 2) {\n                pdVar22 = (double *)((int)&pixel + ((uVar13 >> 3) - 1));\n              }\n              *(byte *)pdVar22 = *(byte *)pdVar22 ^ 0x80;\n            }\n            iVar8 = iVar8 + 1;\n            iVar14 = *(int *)(iVar7 + 0x18);\n            pfVar21 = (float *)(iVar12 + *(int *)(*(int *)(iVar7 + 0x2d0) + 8) * 4);\n            iVar12 = iVar12 + *(int *)(iVar7 + 0x2c0) * 4;\n            *pfVar21 = (float)(((pixel - in_f22_23) * dVar33 + dVar30) * dVar32);\n          } while (iVar8 < iVar14);\n        }\n        lVar35 = CONCAT44(iVar8,&pixel);\n        iVar12 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar7,exception);\n        if ((iVar12 == 0) ||\n           ((*(int *)(iVar7 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar7,local_112c,local_1160._0_4_,uVar16,0,\n                                     *(undefined4 *)(iVar7 + 0x1c)), lVar35 = CONCAT44(iVar8,&pixel)\n            , local_114c == 0)))) break;\n        uVar26 = uVar26 - 1;\n        iVar8 = local_1160._0_4_ + -1;\n        lVar35 = CONCAT44(iVar8,&pixel);\n        local_1160 = CONCAT44((uint)(uVar16 - 1 < uVar16) + iVar8,local_1160._4_4_);\n        uVar16 = uVar16 - 1;\n        if (uVar26 == 0xffffffff) break;\n      }\n    }\n    iVar8 = (*(code *)PTR_EOFBlob_003a9748)(iVar7);\n    if (iVar8 != 0) {\n      puVar17 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar24 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar17);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar7 + 0x340,uVar24);\n      (*(code *)PTR_DestroyString_003a9074)(uVar24);\nLAB_00224e4c:\n      (*(code *)PTR_CloseBlob_003a9688)(iVar7);\n      if (local_114c == 0) {\nLAB_00224fc0:\n        pIVar15 = (Image *)(*(code *)PTR_DestroyImageList_003a9510)(iVar7);\n        dVar30 = in_f22_23;\n      }\n      else {\nLAB_00224e60:\n        pIVar15 = (Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(iVar7);\n        dVar30 = in_f22_23;\n      }\n      goto LAB_00224c7c;\n    }\n    if ((image_info->number_scenes != 0) &&\n       ((image_info->number_scenes + image_info->scene) - 1 <= *(uint *)(iVar7 + 0x26c)))\n    goto LAB_00224e4c;\n    if ((int)local_1154 < (int)(local_1138 + -1)) {\n      (*(code *)PTR_AcquireNextImage_003a8f90)(image_info,iVar7,exception);\n      iVar8 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar7);\n      if (iVar8 != 0) {\n        iVar7 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar7);\n        uVar34 = (*(code *)PTR_TellBlob_003a931c)(iVar7);\n        uVar36 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar7);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar7,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar34 >> 0x20),(int)uVar34,uVar36);\n        if (local_114c != 0) goto LAB_00224e34;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar7);\n      goto LAB_00224fc0;\n    }\nLAB_00224e34:\n    local_1154 = local_1154 + 1;\n    if (local_1154 == local_1138) goto LAB_00224e4c;\nLAB_00224900:\n    MVar11 = image_info->ping;\n    *(int *)(iVar7 + 0x18) = local_1148;\n    *(int *)(iVar7 + 0x1c) = local_1144;\n    *(int *)(iVar7 + 0x20) = local_1128;\n    *(EndianType *)(iVar7 + 0x25c) = local_1124;\n    *(undefined **)(iVar7 + 0x26c) = local_1154;\n    if (((MVar11 != MagickFalse) && (image_info->number_scenes != 0)) &&\n       ((undefined *)(image_info->number_scenes + image_info->scene + -1) <= local_1154))\n    goto LAB_00224e4c;\n    local_114c = (*(code *)PTR_SetImageExtent_003a94ac)(iVar7,local_1148,local_1144,exception);\n    if (local_114c == 0) goto LAB_00224fc0;\n    (*(code *)PTR_SetImageColorspace_003a8d40)(iVar7,3,exception);\n    in_f22_23 = fits_info.min_data;\n    if ((fits_info.min_data != 0.0) || (fits_info.max_data != 0.0)) {\n      if (local_1158 != (undefined *)0x0) goto LAB_002249dc;\n      dVar30 = 0.0;\n      dVar32 = dVar30;\n      goto LAB_002249f4;\n    }\n    if (((uint)local_1158 & 0xffffffdf) != 0xffffffc0) break;\n    dVar30 = fits_info.max_data;\n    lVar37 = (*(code *)PTR_TellBlob_003a931c)(iVar7);\n    if (lVar37 != -1) {\n      lVar35 = (ulonglong)*(uint *)(iVar7 + 0x18) * (ulonglong)*(uint *)(iVar7 + 0x1c);\n      uVar26 = *(uint *)(iVar7 + 0x20) >> 3;\n      if (uVar26 == 2) {\n        sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);\n        dVar30 = (double)(int)sVar18;\n      }\n      else if (uVar26 == 4) {\n        fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n        dVar30 = (double)fVar31;\n      }\n      else if (uVar26 == 1) {\n        iVar8 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n        dVar30 = (double)iVar8;\n      }\n      else {\n        dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n      }\n      local_1160._0_4_ = (int)((ulonglong)lVar35 >> 0x20);\n      uVar24 = local_1160._0_4_;\n      local_1160 = lVar35;\n      fits_info.min_data = dVar30;\n      fits_info.max_data = dVar30;\n      if (0xffffffff < lVar35) goto LAB_00225060;\n      goto LAB_002252f8;\n    }\n    dVar30 = dVar30 - in_f22_23;\n  } while( true );\n  dVar30 = 0.0;\n  dVar32 = dVar30;\n  if (local_1158 != (undefined *)0x0) {\nLAB_002249dc:\n    dVar30 = (double)(*(code *)PTR___floatdidf_003a8a60)(local_1120,local_111c);\n    dVar32 = dVar30;\n  }\n  goto LAB_002249f4;\nLAB_00225060:\n  iVar8 = 0;\n  uVar26 = 1;\n  dVar32 = dVar30;\n  dVar33 = dVar30;\n  do {\n    uVar16 = *(uint *)(iVar7 + 0x20) >> 3;\n    if (uVar16 == 2) {\n      sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);\n      dVar30 = (double)(int)sVar18;\n    }\n    else if (uVar16 == 4) {\n      fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n      dVar30 = (double)fVar31;\n    }\n    else if (uVar16 == 1) {\n      iVar12 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n      dVar30 = (double)iVar12;\n    }\n    else {\n      dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n    }\n    dVar5 = dVar30;\n    if (dVar33 <= dVar30) {\n      dVar5 = fits_info.min_data;\n    }\n    fits_info.min_data = dVar5;\n    uVar16 = uVar26 + 1;\n    dVar33 = dVar30;\n    if (dVar30 <= dVar32) {\n      dVar30 = dVar32;\n      dVar33 = fits_info.max_data;\n    }\n    fits_info.max_data = dVar33;\n    iVar8 = (uint)(uVar16 < uVar26) + iVar8;\n    uVar26 = uVar16;\n    dVar32 = dVar30;\n    dVar33 = fits_info.min_data;\n    in_f22_23 = fits_info.min_data;\n  } while (lVar35 != CONCAT44(iVar8,uVar16));\n  goto LAB_0022511c;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "ulonglong uVar2;" type_identifier identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "double dVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined1 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "byte bVar19;" type_identifier identifier ;) (declaration "MagickBooleanType MVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "Image *pIVar15;" type_identifier (pointer_declarator "*pIVar15" * identifier) ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "short sVar18;" (sized_type_specifier "short" short) identifier ;) (declaration "undefined4 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "undefined *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "float *pfVar21;" primitive_type (pointer_declarator "*pfVar21" * identifier) ;) (declaration "double *pdVar22;" primitive_type (pointer_declarator "*pdVar22" * identifier) ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "undefined4 uVar24;" type_identifier identifier ;) (declaration "byte *pbVar25;" type_identifier (pointer_declarator "*pbVar25" * identifier) ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "undefined4 unaff_s3;" type_identifier identifier ;) (declaration "undefined *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "undefined4 unaff_s5;" type_identifier identifier ;) (declaration "undefined *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "code *pcVar29;" type_identifier (pointer_declarator "*pcVar29" * identifier) ;) (declaration "double dVar30;" primitive_type identifier ;) (declaration "float fVar31;" primitive_type identifier ;) (declaration "double dVar32;" primitive_type identifier ;) (declaration "double in_f22_23;" primitive_type identifier ;) (declaration "double dVar33;" primitive_type identifier ;) (declaration "double in_f28_29;" primitive_type identifier ;) (declaration "double in_f30_31;" primitive_type identifier ;) (declaration "undefined8 uVar34;" type_identifier identifier ;) (declaration "longlong lVar35;" type_identifier identifier ;) (declaration "undefined8 uVar36;" type_identifier identifier ;) (declaration "longlong lVar37;" type_identifier identifier ;) (declaration "undefined8 local_1160;" type_identifier identifier ;) (declaration "undefined *local_1158;" type_identifier (pointer_declarator "*local_1158" * identifier) ;) (declaration "undefined *local_1154;" type_identifier (pointer_declarator "*local_1154" * identifier) ;) (declaration "int local_114c;" primitive_type identifier ;) (declaration "int local_1148;" primitive_type identifier ;) (declaration "int local_1144;" primitive_type identifier ;) (declaration "uint local_1140;" type_identifier identifier ;) (declaration "undefined *local_1138;" type_identifier (pointer_declarator "*local_1138" * identifier) ;) (declaration "undefined *local_1134;" type_identifier (pointer_declarator "*local_1134" * identifier) ;) (declaration "undefined *local_112c;" type_identifier (pointer_declarator "*local_112c" * identifier) ;) (declaration "int local_1128;" primitive_type identifier ;) (declaration "EndianType local_1124;" type_identifier identifier ;) (declaration "int local_1120;" primitive_type identifier ;) (declaration "uint local_111c;" type_identifier identifier ;) (declaration "double local_1118;" primitive_type identifier ;) (declaration "char *comment;" primitive_type (pointer_declarator "*comment" * identifier) ;) (declaration "double pixel;" primitive_type identifier ;) (declaration "FITSInfo fits_info;" type_identifier identifier ;) (declaration "char keyword [9];" primitive_type (array_declarator "keyword [9]" identifier [ number_literal ]) ;) (declaration "char value [73];" primitive_type (array_declarator "value [73]" identifier [ number_literal ]) ;) (declaration "char property [4096];" primitive_type (array_declarator "property [4096]" identifier [ number_literal ]) ;) (expression_statement "puVar4 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar4 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "lVar35 = CONCAT44(unaff_s3,unaff_s5);" (assignment_expression "lVar35 = CONCAT44(unaff_s3,unaff_s5)" identifier = (call_expression "CONCAT44(unaff_s3,unaff_s5)" identifier (argument_list "(unaff_s3,unaff_s5)" ( identifier , identifier )))) ;) (expression_statement "iVar6 = *(int *)PTR___stack_chk_guard_003a9230;" (assignment_expression "iVar6 = *(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))) ;) (if_statement "if (image_info == (ImageInfo *)0x0) {\n    pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                                  PTR_UINT_003a8950 + -0xc60);\n    return pIVar15;\n  }" if (parenthesized_expression "(image_info == (ImageInfo *)0x0)" ( (binary_expression "image_info == (ImageInfo *)0x0" identifier == (cast_expression "(ImageInfo *)0x0" ( (type_descriptor "ImageInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                                  PTR_UINT_003a8950 + -0xc60);\n    return pIVar15;\n  }" { (expression_statement "pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                                  PTR_UINT_003a8950 + -0xc60);" (assignment_expression "pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                                  PTR_UINT_003a8950 + -0xc60)" identifier = (cast_expression "(Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                                  PTR_UINT_003a8950 + -0xc60)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                                  PTR_UINT_003a8950 + -0xc60)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                                  PTR_UINT_003a8950 + -0xc60)" ( (binary_expression "PTR_LAB_003a88e0 + 0xd78" identifier + number_literal) , (binary_expression "PTR_UINT_003a8950 + -0xe40" identifier + number_literal) , number_literal , (binary_expression "PTR_UINT_003a8950 + -0xc60" identifier + number_literal) ))))) ;) (return_statement "return pIVar15;" return identifier ;) })) (if_statement "if (image_info->signature != 0xabacadab) {\n    pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                                  PTR_UINT_003a8950 + -0xc60);\n    return pIVar15;\n  }" if (parenthesized_expression "(image_info->signature != 0xabacadab)" ( (binary_expression "image_info->signature != 0xabacadab" (field_expression "image_info->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n    pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                                  PTR_UINT_003a8950 + -0xc60);\n    return pIVar15;\n  }" { (expression_statement "pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                                  PTR_UINT_003a8950 + -0xc60);" (assignment_expression "pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                                  PTR_UINT_003a8950 + -0xc60)" identifier = (cast_expression "(Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                                  PTR_UINT_003a8950 + -0xc60)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                                  PTR_UINT_003a8950 + -0xc60)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                                  PTR_UINT_003a8950 + -0xc60)" ( (binary_expression "PTR_LAB_003a88e0 + 0xda0" identifier + number_literal) , (binary_expression "PTR_UINT_003a8950 + -0xe40" identifier + number_literal) , number_literal , (binary_expression "PTR_UINT_003a8950 + -0xc60" identifier + number_literal) ))))) ;) (return_statement "return pIVar15;" return identifier ;) })) (if_statement "if (image_info->debug != MagickFalse) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,image_info->filename);\n  }" if (parenthesized_expression "(image_info->debug != MagickFalse)" ( (binary_expression "image_info->debug != MagickFalse" (field_expression "image_info->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,image_info->filename);\n  }" { (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,image_info->filename);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,image_info->filename)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" * (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,image_info->filename)" ( number_literal , (binary_expression "PTR_UINT_003a8950 + -0xe40" identifier + number_literal) , (binary_expression "PTR_UINT_003a8950 + -0xc70" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" identifier + number_literal) , (field_expression "image_info->filename" identifier -> field_identifier) ))) ;) })) (if_statement "if (exception == (ExceptionInfo *)0x0) {\n    pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                                  PTR_UINT_003a8950 + -0xc60);\n    return pIVar15;\n  }" if (parenthesized_expression "(exception == (ExceptionInfo *)0x0)" ( (binary_expression "exception == (ExceptionInfo *)0x0" identifier == (cast_expression "(ExceptionInfo *)0x0" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                                  PTR_UINT_003a8950 + -0xc60);\n    return pIVar15;\n  }" { (expression_statement "pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                                  PTR_UINT_003a8950 + -0xc60);" (assignment_expression "pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                                  PTR_UINT_003a8950 + -0xc60)" identifier = (cast_expression "(Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                                  PTR_UINT_003a8950 + -0xc60)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                                  PTR_UINT_003a8950 + -0xc60)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                                  PTR_UINT_003a8950 + -0xc60)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1cac" identifier + number_literal) , (binary_expression "PTR_UINT_003a8950 + -0xe40" identifier + number_literal) , number_literal , (binary_expression "PTR_UINT_003a8950 + -0xc60" identifier + number_literal) ))))) ;) (return_statement "return pIVar15;" return identifier ;) })) (if_statement "if (exception->signature != 0xabacadab) {\n    pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                                  PTR_UINT_003a8950 + -0xc60);\n    return pIVar15;\n  }" if (parenthesized_expression "(exception->signature != 0xabacadab)" ( (binary_expression "exception->signature != 0xabacadab" (field_expression "exception->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n    pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                                  PTR_UINT_003a8950 + -0xc60);\n    return pIVar15;\n  }" { (expression_statement "pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                                  PTR_UINT_003a8950 + -0xc60);" (assignment_expression "pIVar15 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                                  PTR_UINT_003a8950 + -0xc60)" identifier = (cast_expression "(Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                                  PTR_UINT_003a8950 + -0xc60)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                                  PTR_UINT_003a8950 + -0xc60)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                                  PTR_UINT_003a8950 + -0xc60)" ( (binary_expression "PTR_LAB_003a88e0 + 0x294c" identifier + number_literal) , (binary_expression "PTR_UINT_003a8950 + -0xe40" identifier + number_literal) , number_literal , (binary_expression "PTR_UINT_003a8950 + -0xc60" identifier + number_literal) ))))) ;) (return_statement "return pIVar15;" return identifier ;) })) (expression_statement "iVar7 = (*(code *)PTR_AcquireImage_003a960c)(image_info,exception);" (assignment_expression "iVar7 = (*(code *)PTR_AcquireImage_003a960c)(image_info,exception)" identifier = (call_expression "(*(code *)PTR_AcquireImage_003a960c)(image_info,exception)" (parenthesized_expression "(*(code *)PTR_AcquireImage_003a960c)" ( (pointer_expression "*(code *)PTR_AcquireImage_003a960c" * (cast_expression "(code *)PTR_AcquireImage_003a960c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image_info,exception)" ( identifier , identifier )))) ;) (expression_statement "local_114c = (*(code *)PTR_OpenBlob_003a924c)(image_info,iVar7,2,exception);" (assignment_expression "local_114c = (*(code *)PTR_OpenBlob_003a924c)(image_info,iVar7,2,exception)" identifier = (call_expression "(*(code *)PTR_OpenBlob_003a924c)(image_info,iVar7,2,exception)" (parenthesized_expression "(*(code *)PTR_OpenBlob_003a924c)" ( (pointer_expression "*(code *)PTR_OpenBlob_003a924c" * (cast_expression "(code *)PTR_OpenBlob_003a924c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image_info,iVar7,2,exception)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "puVar3 = PTR_UINT_003a8950;" (assignment_expression "puVar3 = PTR_UINT_003a8950" identifier = identifier) ;) (expression_statement "puVar20 = PTR_LAB_003a88e0;" (assignment_expression "puVar20 = PTR_LAB_003a88e0" identifier = identifier) ;) (if_statement "if (local_114c == 0) {\n    (*(code *)PTR_DestroyImageList_003a9510)(iVar7);\n    pIVar15 = (Image *)0x0;\n    dVar30 = in_f22_23;\n  }\n  else {\n    local_1158 = PTR_UINT_003a8950;\n    local_1134 = PTR_LAB_003a88e0;\n    local_1154 = PTR_UINT_003a8950;\n    (*(code *)PTR_memset_003a96d4)(&fits_info,0,0x48);\n    fits_info.scale = *(double *)(puVar20 + 0x1438);\n    fits_info.bits_per_pixel = 8;\n    fits_info.columns = 1;\n    fits_info.rows = 1;\n    fits_info.number_planes = 1;\n    puVar20 = PTR_UINT_003a8950 + -0xe20;\n    puVar27 = PTR_s_t_to_left_003a88e4 + 0x544;\n    fits_info.endian = MSBEndian;\n    puVar28 = PTR_UINT_003a8950 + -0xe30;\n    local_1160 = CONCAT44(puVar20,local_1160._4_4_);\n    comment = (char *)0x0;\n    puVar9 = PTR_UINT_003a8950;\n    do {\n      iVar8 = (*(code *)PTR_EOFBlob_003a9748)(iVar7);\n      if (iVar8 != 0) {\nLAB_00224bd4:\n        lVar37 = (longlong)fits_info.columns * (longlong)fits_info.rows;\n        MVar11 = fits_info.simple;\n        iVar8 = fits_info.columns;\n        iVar12 = fits_info.rows;\n        break;\n      }\n      puVar9 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar7);\n      while (puVar9 == (undefined1 *)0x0) {\n        iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(iVar7,8,keyword);\n        if (iVar8 != 8) break;\n        piVar10 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar25 = (byte *)keyword;\n        do {\n          if ((*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0) break;\n          puVar9 = puVar9 + 1;\n          bVar19 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar25 = bVar19;\n          pbVar25 = pbVar25 + 1;\n        } while (puVar9 != &DAT_00000008);\n        pbVar25 = (byte *)value;\n        keyword[(int)puVar9] = '\0';\n        iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(iVar7,0x48,pbVar25);\n        value[0x48] = '\0';\n        if (iVar8 != 0x48) break;\n        if (value[0] == '=') {\n          pbVar25 = (byte *)(value + 2);\n          while ((*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0) {\n            pbVar25 = pbVar25 + 1;\n          }\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar27);\n        if (iVar8 == 0) break;\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar28);\n        if (iVar8 == 0) {\n          fits_info.extend = (MagickBooleanType)((*pbVar25 & 0xdf) == 0x54);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar3 + -0xe28);\n        if (iVar8 == 0) {\n          fits_info.simple = (MagickBooleanType)((*pbVar25 & 0xdf) == 0x54);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar20);\n        if (iVar8 == 0) {\n          fits_info.bits_per_pixel = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar3 + -0xe18);\n        if (iVar8 == 0) {\n          fits_info.number_axes = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe10);\n        if (iVar8 == 0) {\n          fits_info.columns = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe08);\n        if (iVar8 == 0) {\n          fits_info.rows = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe00);\n        if (iVar8 == 0) {\n          fits_info.number_planes = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar8 == 0) {\n          fits_info.max_data = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar8 == 0) {\n          fits_info.min_data = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xde8);\n        if (iVar8 == 0) {\n          fits_info.zero = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xde0);\n        if (iVar8 == 0) {\n          fits_info.scale = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (keyword,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar8 == 0) {\n          if (comment == (char *)0x0) {\n            comment = (char *)(*(code *)PTR_ConstantString_003a90b4)(pbVar25);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(&comment,pbVar25);\n          }\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar8 == 0) {\n          iVar8 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar25,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar8 == 0) {\n            fits_info.endian = MSBEndian;\n          }\n          else {\n            fits_info.endian = LSBEndian;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (property,0x1000,PTR_UINT_003a8950 + -0xdcc,keyword);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar7,property,pbVar25,exception);\n        puVar9 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar7);\n      }\n      iVar8 = 0;\n      while( true ) {\n        uVar34 = (*(code *)PTR_TellBlob_003a931c)(iVar7);\n        lVar35 = (*(code *)PTR___moddi3_003a8a78)\n                           ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34,0,0xb40);\n        if ((lVar35 == 0) || (iVar8 == -1)) break;\n        iVar8 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n      }\n      if (fits_info.extend == MagickFalse) goto LAB_00224bd4;\n      if (fits_info.bits_per_pixel - 8U < 0x19) {\n        if (-1 < (int)((0x1000101U >> (fits_info.bits_per_pixel - 8U & 0x1f)) << 0x1f))\n        goto LAB_002245cc;\n      }\n      else if (fits_info.bits_per_pixel != 0x40) {\nLAB_002245cc:\n        if ((fits_info.bits_per_pixel & 0xffffffdfU) != 0xffffffc0) {\n          if (comment != (char *)0x0) {\n            comment = (char *)(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar24 = 400;\n          puVar20 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }\n    } while (((fits_info.simple == MagickFalse) || (3 < fits_info.number_axes - 1U)) ||\n            (lVar37 = (longlong)fits_info.columns * (longlong)fits_info.rows,\n            MVar11 = fits_info.simple, iVar8 = fits_info.columns, iVar12 = fits_info.rows,\n            lVar37 == 0));\n    local_1144 = iVar12;\n    local_1148 = iVar8;\n    fits_info.simple = MVar11;\n    fits_info.columns = local_1148;\n    fits_info.rows = local_1144;\n    if (comment != (char *)0x0) {\n      (*(code *)PTR_SetImageProperty_003a9534)\n                (iVar7,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,comment,exception);\n      comment = (char *)(*(code *)PTR_DestroyString_003a9074)(comment);\n    }\n    iVar8 = (int)lVar37;\n    lVar35 = CONCAT44(iVar8,puVar9);\n    iVar12 = (*(code *)PTR_EOFBlob_003a9748)(iVar7);\n    if (iVar12 != 0) {\n      puVar17 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar24 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar17);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar7 + 0x340,uVar24);\n      (*(code *)PTR_DestroyString_003a9074)(uVar24);\n    }\n    if (((MVar11 != MagickFalse) && (fits_info.number_axes - 1U < 4)) && (lVar37 != 0)) {\n      local_1138 = (undefined *)fits_info.number_planes;\n      if (0 < fits_info.number_planes) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = (undefined *)fits_info.bits_per_pixel;\n        local_1124 = fits_info.endian;\n        iVar8 = fits_info.bits_per_pixel;\n        if (0x40 < (uint)fits_info.bits_per_pixel) {\n          iVar8 = 0;\n        }\n        iVar12 = -1;\n        if (-1 < fits_info.bits_per_pixel) {\n          iVar12 = 1;\n        }\n        uVar13 = iVar8 - 1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar23 = 2 << (uVar13 & 0x1f);\n        local_1128 = iVar12 * fits_info.bits_per_pixel;\n        uVar16 = uVar23;\n        uVar26 = 1 >> (~uVar13 & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar16 = 0;\n          uVar26 = uVar23;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar16 - 1;\n        local_1120 = (uint)(local_111c < uVar16) + (uVar26 - 1);\n        goto LAB_00224900;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar7);\n      goto LAB_00224e60;\n    }\n    uVar24 = 0x1a5;\n    puVar20 = PTR_UINT_003a8950 + -0x2c10;\nLAB_00224c3c:\n    lVar35 = CONCAT44(iVar8,puVar9);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (exception,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar24,0x1a9,puVar20,\n               PTR_LAB_003a88e0 + 0x3e28,image_info->filename);\n    if (iVar7 != 0) {\n      (*(code *)PTR_CloseBlob_003a9688)(iVar7);\n      (*(code *)PTR_DestroyImageList_003a9510)(iVar7);\n    }\n    pIVar15 = (Image *)0x0;\n    dVar30 = in_f22_23;\n  }" if (parenthesized_expression "(local_114c == 0)" ( (binary_expression "local_114c == 0" identifier == number_literal) )) (compound_statement "{\n    (*(code *)PTR_DestroyImageList_003a9510)(iVar7);\n    pIVar15 = (Image *)0x0;\n    dVar30 = in_f22_23;\n  }" { (expression_statement "(*(code *)PTR_DestroyImageList_003a9510)(iVar7);" (call_expression "(*(code *)PTR_DestroyImageList_003a9510)(iVar7)" (parenthesized_expression "(*(code *)PTR_DestroyImageList_003a9510)" ( (pointer_expression "*(code *)PTR_DestroyImageList_003a9510" * (cast_expression "(code *)PTR_DestroyImageList_003a9510" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier ))) ;) (expression_statement "pIVar15 = (Image *)0x0;" (assignment_expression "pIVar15 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "dVar30 = in_f22_23;" (assignment_expression "dVar30 = in_f22_23" identifier = identifier) ;) }) (else_clause "else {\n    local_1158 = PTR_UINT_003a8950;\n    local_1134 = PTR_LAB_003a88e0;\n    local_1154 = PTR_UINT_003a8950;\n    (*(code *)PTR_memset_003a96d4)(&fits_info,0,0x48);\n    fits_info.scale = *(double *)(puVar20 + 0x1438);\n    fits_info.bits_per_pixel = 8;\n    fits_info.columns = 1;\n    fits_info.rows = 1;\n    fits_info.number_planes = 1;\n    puVar20 = PTR_UINT_003a8950 + -0xe20;\n    puVar27 = PTR_s_t_to_left_003a88e4 + 0x544;\n    fits_info.endian = MSBEndian;\n    puVar28 = PTR_UINT_003a8950 + -0xe30;\n    local_1160 = CONCAT44(puVar20,local_1160._4_4_);\n    comment = (char *)0x0;\n    puVar9 = PTR_UINT_003a8950;\n    do {\n      iVar8 = (*(code *)PTR_EOFBlob_003a9748)(iVar7);\n      if (iVar8 != 0) {\nLAB_00224bd4:\n        lVar37 = (longlong)fits_info.columns * (longlong)fits_info.rows;\n        MVar11 = fits_info.simple;\n        iVar8 = fits_info.columns;\n        iVar12 = fits_info.rows;\n        break;\n      }\n      puVar9 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar7);\n      while (puVar9 == (undefined1 *)0x0) {\n        iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(iVar7,8,keyword);\n        if (iVar8 != 8) break;\n        piVar10 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar25 = (byte *)keyword;\n        do {\n          if ((*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0) break;\n          puVar9 = puVar9 + 1;\n          bVar19 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar25 = bVar19;\n          pbVar25 = pbVar25 + 1;\n        } while (puVar9 != &DAT_00000008);\n        pbVar25 = (byte *)value;\n        keyword[(int)puVar9] = '\0';\n        iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(iVar7,0x48,pbVar25);\n        value[0x48] = '\0';\n        if (iVar8 != 0x48) break;\n        if (value[0] == '=') {\n          pbVar25 = (byte *)(value + 2);\n          while ((*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0) {\n            pbVar25 = pbVar25 + 1;\n          }\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar27);\n        if (iVar8 == 0) break;\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar28);\n        if (iVar8 == 0) {\n          fits_info.extend = (MagickBooleanType)((*pbVar25 & 0xdf) == 0x54);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar3 + -0xe28);\n        if (iVar8 == 0) {\n          fits_info.simple = (MagickBooleanType)((*pbVar25 & 0xdf) == 0x54);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar20);\n        if (iVar8 == 0) {\n          fits_info.bits_per_pixel = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar3 + -0xe18);\n        if (iVar8 == 0) {\n          fits_info.number_axes = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe10);\n        if (iVar8 == 0) {\n          fits_info.columns = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe08);\n        if (iVar8 == 0) {\n          fits_info.rows = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe00);\n        if (iVar8 == 0) {\n          fits_info.number_planes = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar8 == 0) {\n          fits_info.max_data = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar8 == 0) {\n          fits_info.min_data = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xde8);\n        if (iVar8 == 0) {\n          fits_info.zero = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xde0);\n        if (iVar8 == 0) {\n          fits_info.scale = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (keyword,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar8 == 0) {\n          if (comment == (char *)0x0) {\n            comment = (char *)(*(code *)PTR_ConstantString_003a90b4)(pbVar25);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(&comment,pbVar25);\n          }\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar8 == 0) {\n          iVar8 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar25,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar8 == 0) {\n            fits_info.endian = MSBEndian;\n          }\n          else {\n            fits_info.endian = LSBEndian;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (property,0x1000,PTR_UINT_003a8950 + -0xdcc,keyword);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar7,property,pbVar25,exception);\n        puVar9 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar7);\n      }\n      iVar8 = 0;\n      while( true ) {\n        uVar34 = (*(code *)PTR_TellBlob_003a931c)(iVar7);\n        lVar35 = (*(code *)PTR___moddi3_003a8a78)\n                           ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34,0,0xb40);\n        if ((lVar35 == 0) || (iVar8 == -1)) break;\n        iVar8 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n      }\n      if (fits_info.extend == MagickFalse) goto LAB_00224bd4;\n      if (fits_info.bits_per_pixel - 8U < 0x19) {\n        if (-1 < (int)((0x1000101U >> (fits_info.bits_per_pixel - 8U & 0x1f)) << 0x1f))\n        goto LAB_002245cc;\n      }\n      else if (fits_info.bits_per_pixel != 0x40) {\nLAB_002245cc:\n        if ((fits_info.bits_per_pixel & 0xffffffdfU) != 0xffffffc0) {\n          if (comment != (char *)0x0) {\n            comment = (char *)(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar24 = 400;\n          puVar20 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }\n    } while (((fits_info.simple == MagickFalse) || (3 < fits_info.number_axes - 1U)) ||\n            (lVar37 = (longlong)fits_info.columns * (longlong)fits_info.rows,\n            MVar11 = fits_info.simple, iVar8 = fits_info.columns, iVar12 = fits_info.rows,\n            lVar37 == 0));\n    local_1144 = iVar12;\n    local_1148 = iVar8;\n    fits_info.simple = MVar11;\n    fits_info.columns = local_1148;\n    fits_info.rows = local_1144;\n    if (comment != (char *)0x0) {\n      (*(code *)PTR_SetImageProperty_003a9534)\n                (iVar7,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,comment,exception);\n      comment = (char *)(*(code *)PTR_DestroyString_003a9074)(comment);\n    }\n    iVar8 = (int)lVar37;\n    lVar35 = CONCAT44(iVar8,puVar9);\n    iVar12 = (*(code *)PTR_EOFBlob_003a9748)(iVar7);\n    if (iVar12 != 0) {\n      puVar17 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar24 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar17);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar7 + 0x340,uVar24);\n      (*(code *)PTR_DestroyString_003a9074)(uVar24);\n    }\n    if (((MVar11 != MagickFalse) && (fits_info.number_axes - 1U < 4)) && (lVar37 != 0)) {\n      local_1138 = (undefined *)fits_info.number_planes;\n      if (0 < fits_info.number_planes) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = (undefined *)fits_info.bits_per_pixel;\n        local_1124 = fits_info.endian;\n        iVar8 = fits_info.bits_per_pixel;\n        if (0x40 < (uint)fits_info.bits_per_pixel) {\n          iVar8 = 0;\n        }\n        iVar12 = -1;\n        if (-1 < fits_info.bits_per_pixel) {\n          iVar12 = 1;\n        }\n        uVar13 = iVar8 - 1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar23 = 2 << (uVar13 & 0x1f);\n        local_1128 = iVar12 * fits_info.bits_per_pixel;\n        uVar16 = uVar23;\n        uVar26 = 1 >> (~uVar13 & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar16 = 0;\n          uVar26 = uVar23;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar16 - 1;\n        local_1120 = (uint)(local_111c < uVar16) + (uVar26 - 1);\n        goto LAB_00224900;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar7);\n      goto LAB_00224e60;\n    }\n    uVar24 = 0x1a5;\n    puVar20 = PTR_UINT_003a8950 + -0x2c10;\nLAB_00224c3c:\n    lVar35 = CONCAT44(iVar8,puVar9);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (exception,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar24,0x1a9,puVar20,\n               PTR_LAB_003a88e0 + 0x3e28,image_info->filename);\n    if (iVar7 != 0) {\n      (*(code *)PTR_CloseBlob_003a9688)(iVar7);\n      (*(code *)PTR_DestroyImageList_003a9510)(iVar7);\n    }\n    pIVar15 = (Image *)0x0;\n    dVar30 = in_f22_23;\n  }" else (compound_statement "{\n    local_1158 = PTR_UINT_003a8950;\n    local_1134 = PTR_LAB_003a88e0;\n    local_1154 = PTR_UINT_003a8950;\n    (*(code *)PTR_memset_003a96d4)(&fits_info,0,0x48);\n    fits_info.scale = *(double *)(puVar20 + 0x1438);\n    fits_info.bits_per_pixel = 8;\n    fits_info.columns = 1;\n    fits_info.rows = 1;\n    fits_info.number_planes = 1;\n    puVar20 = PTR_UINT_003a8950 + -0xe20;\n    puVar27 = PTR_s_t_to_left_003a88e4 + 0x544;\n    fits_info.endian = MSBEndian;\n    puVar28 = PTR_UINT_003a8950 + -0xe30;\n    local_1160 = CONCAT44(puVar20,local_1160._4_4_);\n    comment = (char *)0x0;\n    puVar9 = PTR_UINT_003a8950;\n    do {\n      iVar8 = (*(code *)PTR_EOFBlob_003a9748)(iVar7);\n      if (iVar8 != 0) {\nLAB_00224bd4:\n        lVar37 = (longlong)fits_info.columns * (longlong)fits_info.rows;\n        MVar11 = fits_info.simple;\n        iVar8 = fits_info.columns;\n        iVar12 = fits_info.rows;\n        break;\n      }\n      puVar9 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar7);\n      while (puVar9 == (undefined1 *)0x0) {\n        iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(iVar7,8,keyword);\n        if (iVar8 != 8) break;\n        piVar10 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar25 = (byte *)keyword;\n        do {\n          if ((*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0) break;\n          puVar9 = puVar9 + 1;\n          bVar19 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar25 = bVar19;\n          pbVar25 = pbVar25 + 1;\n        } while (puVar9 != &DAT_00000008);\n        pbVar25 = (byte *)value;\n        keyword[(int)puVar9] = '\0';\n        iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(iVar7,0x48,pbVar25);\n        value[0x48] = '\0';\n        if (iVar8 != 0x48) break;\n        if (value[0] == '=') {\n          pbVar25 = (byte *)(value + 2);\n          while ((*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0) {\n            pbVar25 = pbVar25 + 1;\n          }\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar27);\n        if (iVar8 == 0) break;\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar28);\n        if (iVar8 == 0) {\n          fits_info.extend = (MagickBooleanType)((*pbVar25 & 0xdf) == 0x54);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar3 + -0xe28);\n        if (iVar8 == 0) {\n          fits_info.simple = (MagickBooleanType)((*pbVar25 & 0xdf) == 0x54);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar20);\n        if (iVar8 == 0) {\n          fits_info.bits_per_pixel = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar3 + -0xe18);\n        if (iVar8 == 0) {\n          fits_info.number_axes = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe10);\n        if (iVar8 == 0) {\n          fits_info.columns = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe08);\n        if (iVar8 == 0) {\n          fits_info.rows = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe00);\n        if (iVar8 == 0) {\n          fits_info.number_planes = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar8 == 0) {\n          fits_info.max_data = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar8 == 0) {\n          fits_info.min_data = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xde8);\n        if (iVar8 == 0) {\n          fits_info.zero = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xde0);\n        if (iVar8 == 0) {\n          fits_info.scale = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (keyword,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar8 == 0) {\n          if (comment == (char *)0x0) {\n            comment = (char *)(*(code *)PTR_ConstantString_003a90b4)(pbVar25);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(&comment,pbVar25);\n          }\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar8 == 0) {\n          iVar8 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar25,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar8 == 0) {\n            fits_info.endian = MSBEndian;\n          }\n          else {\n            fits_info.endian = LSBEndian;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (property,0x1000,PTR_UINT_003a8950 + -0xdcc,keyword);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar7,property,pbVar25,exception);\n        puVar9 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar7);\n      }\n      iVar8 = 0;\n      while( true ) {\n        uVar34 = (*(code *)PTR_TellBlob_003a931c)(iVar7);\n        lVar35 = (*(code *)PTR___moddi3_003a8a78)\n                           ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34,0,0xb40);\n        if ((lVar35 == 0) || (iVar8 == -1)) break;\n        iVar8 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n      }\n      if (fits_info.extend == MagickFalse) goto LAB_00224bd4;\n      if (fits_info.bits_per_pixel - 8U < 0x19) {\n        if (-1 < (int)((0x1000101U >> (fits_info.bits_per_pixel - 8U & 0x1f)) << 0x1f))\n        goto LAB_002245cc;\n      }\n      else if (fits_info.bits_per_pixel != 0x40) {\nLAB_002245cc:\n        if ((fits_info.bits_per_pixel & 0xffffffdfU) != 0xffffffc0) {\n          if (comment != (char *)0x0) {\n            comment = (char *)(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar24 = 400;\n          puVar20 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }\n    } while (((fits_info.simple == MagickFalse) || (3 < fits_info.number_axes - 1U)) ||\n            (lVar37 = (longlong)fits_info.columns * (longlong)fits_info.rows,\n            MVar11 = fits_info.simple, iVar8 = fits_info.columns, iVar12 = fits_info.rows,\n            lVar37 == 0));\n    local_1144 = iVar12;\n    local_1148 = iVar8;\n    fits_info.simple = MVar11;\n    fits_info.columns = local_1148;\n    fits_info.rows = local_1144;\n    if (comment != (char *)0x0) {\n      (*(code *)PTR_SetImageProperty_003a9534)\n                (iVar7,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,comment,exception);\n      comment = (char *)(*(code *)PTR_DestroyString_003a9074)(comment);\n    }\n    iVar8 = (int)lVar37;\n    lVar35 = CONCAT44(iVar8,puVar9);\n    iVar12 = (*(code *)PTR_EOFBlob_003a9748)(iVar7);\n    if (iVar12 != 0) {\n      puVar17 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar24 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar17);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar7 + 0x340,uVar24);\n      (*(code *)PTR_DestroyString_003a9074)(uVar24);\n    }\n    if (((MVar11 != MagickFalse) && (fits_info.number_axes - 1U < 4)) && (lVar37 != 0)) {\n      local_1138 = (undefined *)fits_info.number_planes;\n      if (0 < fits_info.number_planes) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = (undefined *)fits_info.bits_per_pixel;\n        local_1124 = fits_info.endian;\n        iVar8 = fits_info.bits_per_pixel;\n        if (0x40 < (uint)fits_info.bits_per_pixel) {\n          iVar8 = 0;\n        }\n        iVar12 = -1;\n        if (-1 < fits_info.bits_per_pixel) {\n          iVar12 = 1;\n        }\n        uVar13 = iVar8 - 1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar23 = 2 << (uVar13 & 0x1f);\n        local_1128 = iVar12 * fits_info.bits_per_pixel;\n        uVar16 = uVar23;\n        uVar26 = 1 >> (~uVar13 & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar16 = 0;\n          uVar26 = uVar23;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar16 - 1;\n        local_1120 = (uint)(local_111c < uVar16) + (uVar26 - 1);\n        goto LAB_00224900;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar7);\n      goto LAB_00224e60;\n    }\n    uVar24 = 0x1a5;\n    puVar20 = PTR_UINT_003a8950 + -0x2c10;\nLAB_00224c3c:\n    lVar35 = CONCAT44(iVar8,puVar9);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (exception,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar24,0x1a9,puVar20,\n               PTR_LAB_003a88e0 + 0x3e28,image_info->filename);\n    if (iVar7 != 0) {\n      (*(code *)PTR_CloseBlob_003a9688)(iVar7);\n      (*(code *)PTR_DestroyImageList_003a9510)(iVar7);\n    }\n    pIVar15 = (Image *)0x0;\n    dVar30 = in_f22_23;\n  }" { (expression_statement "local_1158 = PTR_UINT_003a8950;" (assignment_expression "local_1158 = PTR_UINT_003a8950" identifier = identifier) ;) (expression_statement "local_1134 = PTR_LAB_003a88e0;" (assignment_expression "local_1134 = PTR_LAB_003a88e0" identifier = identifier) ;) (expression_statement "local_1154 = PTR_UINT_003a8950;" (assignment_expression "local_1154 = PTR_UINT_003a8950" identifier = identifier) ;) (expression_statement "(*(code *)PTR_memset_003a96d4)(&fits_info,0,0x48);" (call_expression "(*(code *)PTR_memset_003a96d4)(&fits_info,0,0x48)" (parenthesized_expression "(*(code *)PTR_memset_003a96d4)" ( (pointer_expression "*(code *)PTR_memset_003a96d4" * (cast_expression "(code *)PTR_memset_003a96d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&fits_info,0,0x48)" ( (pointer_expression "&fits_info" & identifier) , number_literal , number_literal ))) ;) (expression_statement "fits_info.scale = *(double *)(puVar20 + 0x1438);" (assignment_expression "fits_info.scale = *(double *)(puVar20 + 0x1438)" (field_expression "fits_info.scale" identifier . field_identifier) = (pointer_expression "*(double *)(puVar20 + 0x1438)" * (cast_expression "(double *)(puVar20 + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1438)" ( (binary_expression "puVar20 + 0x1438" identifier + number_literal) ))))) ;) (expression_statement "fits_info.bits_per_pixel = 8;" (assignment_expression "fits_info.bits_per_pixel = 8" (field_expression "fits_info.bits_per_pixel" identifier . field_identifier) = number_literal) ;) (expression_statement "fits_info.columns = 1;" (assignment_expression "fits_info.columns = 1" (field_expression "fits_info.columns" identifier . field_identifier) = number_literal) ;) (expression_statement "fits_info.rows = 1;" (assignment_expression "fits_info.rows = 1" (field_expression "fits_info.rows" identifier . field_identifier) = number_literal) ;) (expression_statement "fits_info.number_planes = 1;" (assignment_expression "fits_info.number_planes = 1" (field_expression "fits_info.number_planes" identifier . field_identifier) = number_literal) ;) (expression_statement "puVar20 = PTR_UINT_003a8950 + -0xe20;" (assignment_expression "puVar20 = PTR_UINT_003a8950 + -0xe20" identifier = (binary_expression "PTR_UINT_003a8950 + -0xe20" identifier + number_literal)) ;) (expression_statement "puVar27 = PTR_s_t_to_left_003a88e4 + 0x544;" (assignment_expression "puVar27 = PTR_s_t_to_left_003a88e4 + 0x544" identifier = (binary_expression "PTR_s_t_to_left_003a88e4 + 0x544" identifier + number_literal)) ;) (expression_statement "fits_info.endian = MSBEndian;" (assignment_expression "fits_info.endian = MSBEndian" (field_expression "fits_info.endian" identifier . field_identifier) = identifier) ;) (expression_statement "puVar28 = PTR_UINT_003a8950 + -0xe30;" (assignment_expression "puVar28 = PTR_UINT_003a8950 + -0xe30" identifier = (binary_expression "PTR_UINT_003a8950 + -0xe30" identifier + number_literal)) ;) (expression_statement "local_1160 = CONCAT44(puVar20,local_1160._4_4_);" (assignment_expression "local_1160 = CONCAT44(puVar20,local_1160._4_4_)" identifier = (call_expression "CONCAT44(puVar20,local_1160._4_4_)" identifier (argument_list "(puVar20,local_1160._4_4_)" ( identifier , (field_expression "local_1160._4_4_" identifier . field_identifier) )))) ;) (expression_statement "comment = (char *)0x0;" (assignment_expression "comment = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar9 = PTR_UINT_003a8950;" (assignment_expression "puVar9 = PTR_UINT_003a8950" identifier = identifier) ;) (do_statement "do {\n      iVar8 = (*(code *)PTR_EOFBlob_003a9748)(iVar7);\n      if (iVar8 != 0) {\nLAB_00224bd4:\n        lVar37 = (longlong)fits_info.columns * (longlong)fits_info.rows;\n        MVar11 = fits_info.simple;\n        iVar8 = fits_info.columns;\n        iVar12 = fits_info.rows;\n        break;\n      }\n      puVar9 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar7);\n      while (puVar9 == (undefined1 *)0x0) {\n        iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(iVar7,8,keyword);\n        if (iVar8 != 8) break;\n        piVar10 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar25 = (byte *)keyword;\n        do {\n          if ((*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0) break;\n          puVar9 = puVar9 + 1;\n          bVar19 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar25 = bVar19;\n          pbVar25 = pbVar25 + 1;\n        } while (puVar9 != &DAT_00000008);\n        pbVar25 = (byte *)value;\n        keyword[(int)puVar9] = '\0';\n        iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(iVar7,0x48,pbVar25);\n        value[0x48] = '\0';\n        if (iVar8 != 0x48) break;\n        if (value[0] == '=') {\n          pbVar25 = (byte *)(value + 2);\n          while ((*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0) {\n            pbVar25 = pbVar25 + 1;\n          }\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar27);\n        if (iVar8 == 0) break;\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar28);\n        if (iVar8 == 0) {\n          fits_info.extend = (MagickBooleanType)((*pbVar25 & 0xdf) == 0x54);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar3 + -0xe28);\n        if (iVar8 == 0) {\n          fits_info.simple = (MagickBooleanType)((*pbVar25 & 0xdf) == 0x54);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar20);\n        if (iVar8 == 0) {\n          fits_info.bits_per_pixel = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar3 + -0xe18);\n        if (iVar8 == 0) {\n          fits_info.number_axes = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe10);\n        if (iVar8 == 0) {\n          fits_info.columns = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe08);\n        if (iVar8 == 0) {\n          fits_info.rows = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe00);\n        if (iVar8 == 0) {\n          fits_info.number_planes = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar8 == 0) {\n          fits_info.max_data = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar8 == 0) {\n          fits_info.min_data = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xde8);\n        if (iVar8 == 0) {\n          fits_info.zero = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xde0);\n        if (iVar8 == 0) {\n          fits_info.scale = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (keyword,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar8 == 0) {\n          if (comment == (char *)0x0) {\n            comment = (char *)(*(code *)PTR_ConstantString_003a90b4)(pbVar25);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(&comment,pbVar25);\n          }\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar8 == 0) {\n          iVar8 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar25,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar8 == 0) {\n            fits_info.endian = MSBEndian;\n          }\n          else {\n            fits_info.endian = LSBEndian;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (property,0x1000,PTR_UINT_003a8950 + -0xdcc,keyword);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar7,property,pbVar25,exception);\n        puVar9 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar7);\n      }\n      iVar8 = 0;\n      while( true ) {\n        uVar34 = (*(code *)PTR_TellBlob_003a931c)(iVar7);\n        lVar35 = (*(code *)PTR___moddi3_003a8a78)\n                           ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34,0,0xb40);\n        if ((lVar35 == 0) || (iVar8 == -1)) break;\n        iVar8 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n      }\n      if (fits_info.extend == MagickFalse) goto LAB_00224bd4;\n      if (fits_info.bits_per_pixel - 8U < 0x19) {\n        if (-1 < (int)((0x1000101U >> (fits_info.bits_per_pixel - 8U & 0x1f)) << 0x1f))\n        goto LAB_002245cc;\n      }\n      else if (fits_info.bits_per_pixel != 0x40) {\nLAB_002245cc:\n        if ((fits_info.bits_per_pixel & 0xffffffdfU) != 0xffffffc0) {\n          if (comment != (char *)0x0) {\n            comment = (char *)(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar24 = 400;\n          puVar20 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }\n    } while (((fits_info.simple == MagickFalse) || (3 < fits_info.number_axes - 1U)) ||\n            (lVar37 = (longlong)fits_info.columns * (longlong)fits_info.rows,\n            MVar11 = fits_info.simple, iVar8 = fits_info.columns, iVar12 = fits_info.rows,\n            lVar37 == 0));" do (compound_statement "{\n      iVar8 = (*(code *)PTR_EOFBlob_003a9748)(iVar7);\n      if (iVar8 != 0) {\nLAB_00224bd4:\n        lVar37 = (longlong)fits_info.columns * (longlong)fits_info.rows;\n        MVar11 = fits_info.simple;\n        iVar8 = fits_info.columns;\n        iVar12 = fits_info.rows;\n        break;\n      }\n      puVar9 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar7);\n      while (puVar9 == (undefined1 *)0x0) {\n        iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(iVar7,8,keyword);\n        if (iVar8 != 8) break;\n        piVar10 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar25 = (byte *)keyword;\n        do {\n          if ((*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0) break;\n          puVar9 = puVar9 + 1;\n          bVar19 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar25 = bVar19;\n          pbVar25 = pbVar25 + 1;\n        } while (puVar9 != &DAT_00000008);\n        pbVar25 = (byte *)value;\n        keyword[(int)puVar9] = '\0';\n        iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(iVar7,0x48,pbVar25);\n        value[0x48] = '\0';\n        if (iVar8 != 0x48) break;\n        if (value[0] == '=') {\n          pbVar25 = (byte *)(value + 2);\n          while ((*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0) {\n            pbVar25 = pbVar25 + 1;\n          }\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar27);\n        if (iVar8 == 0) break;\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar28);\n        if (iVar8 == 0) {\n          fits_info.extend = (MagickBooleanType)((*pbVar25 & 0xdf) == 0x54);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar3 + -0xe28);\n        if (iVar8 == 0) {\n          fits_info.simple = (MagickBooleanType)((*pbVar25 & 0xdf) == 0x54);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar20);\n        if (iVar8 == 0) {\n          fits_info.bits_per_pixel = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar3 + -0xe18);\n        if (iVar8 == 0) {\n          fits_info.number_axes = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe10);\n        if (iVar8 == 0) {\n          fits_info.columns = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe08);\n        if (iVar8 == 0) {\n          fits_info.rows = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe00);\n        if (iVar8 == 0) {\n          fits_info.number_planes = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar8 == 0) {\n          fits_info.max_data = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar8 == 0) {\n          fits_info.min_data = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xde8);\n        if (iVar8 == 0) {\n          fits_info.zero = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xde0);\n        if (iVar8 == 0) {\n          fits_info.scale = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (keyword,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar8 == 0) {\n          if (comment == (char *)0x0) {\n            comment = (char *)(*(code *)PTR_ConstantString_003a90b4)(pbVar25);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(&comment,pbVar25);\n          }\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar8 == 0) {\n          iVar8 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar25,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar8 == 0) {\n            fits_info.endian = MSBEndian;\n          }\n          else {\n            fits_info.endian = LSBEndian;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (property,0x1000,PTR_UINT_003a8950 + -0xdcc,keyword);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar7,property,pbVar25,exception);\n        puVar9 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar7);\n      }\n      iVar8 = 0;\n      while( true ) {\n        uVar34 = (*(code *)PTR_TellBlob_003a931c)(iVar7);\n        lVar35 = (*(code *)PTR___moddi3_003a8a78)\n                           ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34,0,0xb40);\n        if ((lVar35 == 0) || (iVar8 == -1)) break;\n        iVar8 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n      }\n      if (fits_info.extend == MagickFalse) goto LAB_00224bd4;\n      if (fits_info.bits_per_pixel - 8U < 0x19) {\n        if (-1 < (int)((0x1000101U >> (fits_info.bits_per_pixel - 8U & 0x1f)) << 0x1f))\n        goto LAB_002245cc;\n      }\n      else if (fits_info.bits_per_pixel != 0x40) {\nLAB_002245cc:\n        if ((fits_info.bits_per_pixel & 0xffffffdfU) != 0xffffffc0) {\n          if (comment != (char *)0x0) {\n            comment = (char *)(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar24 = 400;\n          puVar20 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }\n    }" { (expression_statement "iVar8 = (*(code *)PTR_EOFBlob_003a9748)(iVar7);" (assignment_expression "iVar8 = (*(code *)PTR_EOFBlob_003a9748)(iVar7)" identifier = (call_expression "(*(code *)PTR_EOFBlob_003a9748)(iVar7)" (parenthesized_expression "(*(code *)PTR_EOFBlob_003a9748)" ( (pointer_expression "*(code *)PTR_EOFBlob_003a9748" * (cast_expression "(code *)PTR_EOFBlob_003a9748" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier )))) ;) (if_statement "if (iVar8 != 0) {\nLAB_00224bd4:\n        lVar37 = (longlong)fits_info.columns * (longlong)fits_info.rows;\n        MVar11 = fits_info.simple;\n        iVar8 = fits_info.columns;\n        iVar12 = fits_info.rows;\n        break;\n      }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00224bd4:\n        lVar37 = (longlong)fits_info.columns * (longlong)fits_info.rows;\n        MVar11 = fits_info.simple;\n        iVar8 = fits_info.columns;\n        iVar12 = fits_info.rows;\n        break;\n      }" { (labeled_statement "LAB_00224bd4:\n        lVar37 = (longlong)fits_info.columns * (longlong)fits_info.rows;" statement_identifier : (expression_statement "lVar37 = (longlong)fits_info.columns * (longlong)fits_info.rows;" (assignment_expression "lVar37 = (longlong)fits_info.columns * (longlong)fits_info.rows" identifier = (binary_expression "(longlong)fits_info.columns * (longlong)fits_info.rows" (cast_expression "(longlong)fits_info.columns" ( (type_descriptor "longlong" type_identifier) ) (field_expression "fits_info.columns" identifier . field_identifier)) * (cast_expression "(longlong)fits_info.rows" ( (type_descriptor "longlong" type_identifier) ) (field_expression "fits_info.rows" identifier . field_identifier)))) ;)) (expression_statement "MVar11 = fits_info.simple;" (assignment_expression "MVar11 = fits_info.simple" identifier = (field_expression "fits_info.simple" identifier . field_identifier)) ;) (expression_statement "iVar8 = fits_info.columns;" (assignment_expression "iVar8 = fits_info.columns" identifier = (field_expression "fits_info.columns" identifier . field_identifier)) ;) (expression_statement "iVar12 = fits_info.rows;" (assignment_expression "iVar12 = fits_info.rows" identifier = (field_expression "fits_info.rows" identifier . field_identifier)) ;) (break_statement "break;" break ;) })) (expression_statement "puVar9 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar7);" (assignment_expression "puVar9 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar7)" identifier = (cast_expression "(undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_EOFBlob_003a9748)(iVar7)" (parenthesized_expression "(*(code *)PTR_EOFBlob_003a9748)" ( (pointer_expression "*(code *)PTR_EOFBlob_003a9748" * (cast_expression "(code *)PTR_EOFBlob_003a9748" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier ))))) ;) (while_statement "while (puVar9 == (undefined1 *)0x0) {\n        iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(iVar7,8,keyword);\n        if (iVar8 != 8) break;\n        piVar10 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar25 = (byte *)keyword;\n        do {\n          if ((*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0) break;\n          puVar9 = puVar9 + 1;\n          bVar19 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar25 = bVar19;\n          pbVar25 = pbVar25 + 1;\n        } while (puVar9 != &DAT_00000008);\n        pbVar25 = (byte *)value;\n        keyword[(int)puVar9] = '\0';\n        iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(iVar7,0x48,pbVar25);\n        value[0x48] = '\0';\n        if (iVar8 != 0x48) break;\n        if (value[0] == '=') {\n          pbVar25 = (byte *)(value + 2);\n          while ((*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0) {\n            pbVar25 = pbVar25 + 1;\n          }\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar27);\n        if (iVar8 == 0) break;\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar28);\n        if (iVar8 == 0) {\n          fits_info.extend = (MagickBooleanType)((*pbVar25 & 0xdf) == 0x54);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar3 + -0xe28);\n        if (iVar8 == 0) {\n          fits_info.simple = (MagickBooleanType)((*pbVar25 & 0xdf) == 0x54);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar20);\n        if (iVar8 == 0) {\n          fits_info.bits_per_pixel = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar3 + -0xe18);\n        if (iVar8 == 0) {\n          fits_info.number_axes = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe10);\n        if (iVar8 == 0) {\n          fits_info.columns = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe08);\n        if (iVar8 == 0) {\n          fits_info.rows = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe00);\n        if (iVar8 == 0) {\n          fits_info.number_planes = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar8 == 0) {\n          fits_info.max_data = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar8 == 0) {\n          fits_info.min_data = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xde8);\n        if (iVar8 == 0) {\n          fits_info.zero = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xde0);\n        if (iVar8 == 0) {\n          fits_info.scale = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (keyword,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar8 == 0) {\n          if (comment == (char *)0x0) {\n            comment = (char *)(*(code *)PTR_ConstantString_003a90b4)(pbVar25);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(&comment,pbVar25);\n          }\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar8 == 0) {\n          iVar8 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar25,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar8 == 0) {\n            fits_info.endian = MSBEndian;\n          }\n          else {\n            fits_info.endian = LSBEndian;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (property,0x1000,PTR_UINT_003a8950 + -0xdcc,keyword);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar7,property,pbVar25,exception);\n        puVar9 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar7);\n      }" while (parenthesized_expression "(puVar9 == (undefined1 *)0x0)" ( (binary_expression "puVar9 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(iVar7,8,keyword);\n        if (iVar8 != 8) break;\n        piVar10 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar25 = (byte *)keyword;\n        do {\n          if ((*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0) break;\n          puVar9 = puVar9 + 1;\n          bVar19 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar25 = bVar19;\n          pbVar25 = pbVar25 + 1;\n        } while (puVar9 != &DAT_00000008);\n        pbVar25 = (byte *)value;\n        keyword[(int)puVar9] = '\0';\n        iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(iVar7,0x48,pbVar25);\n        value[0x48] = '\0';\n        if (iVar8 != 0x48) break;\n        if (value[0] == '=') {\n          pbVar25 = (byte *)(value + 2);\n          while ((*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0) {\n            pbVar25 = pbVar25 + 1;\n          }\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar27);\n        if (iVar8 == 0) break;\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar28);\n        if (iVar8 == 0) {\n          fits_info.extend = (MagickBooleanType)((*pbVar25 & 0xdf) == 0x54);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar3 + -0xe28);\n        if (iVar8 == 0) {\n          fits_info.simple = (MagickBooleanType)((*pbVar25 & 0xdf) == 0x54);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar20);\n        if (iVar8 == 0) {\n          fits_info.bits_per_pixel = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar3 + -0xe18);\n        if (iVar8 == 0) {\n          fits_info.number_axes = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe10);\n        if (iVar8 == 0) {\n          fits_info.columns = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe08);\n        if (iVar8 == 0) {\n          fits_info.rows = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe00);\n        if (iVar8 == 0) {\n          fits_info.number_planes = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar8 == 0) {\n          fits_info.max_data = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar8 == 0) {\n          fits_info.min_data = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xde8);\n        if (iVar8 == 0) {\n          fits_info.zero = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xde0);\n        if (iVar8 == 0) {\n          fits_info.scale = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (keyword,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar8 == 0) {\n          if (comment == (char *)0x0) {\n            comment = (char *)(*(code *)PTR_ConstantString_003a90b4)(pbVar25);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(&comment,pbVar25);\n          }\n        }\n        iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar8 == 0) {\n          iVar8 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar25,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar8 == 0) {\n            fits_info.endian = MSBEndian;\n          }\n          else {\n            fits_info.endian = LSBEndian;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (property,0x1000,PTR_UINT_003a8950 + -0xdcc,keyword);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar7,property,pbVar25,exception);\n        puVar9 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar7);\n      }" { (expression_statement "iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(iVar7,8,keyword);" (assignment_expression "iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(iVar7,8,keyword)" identifier = (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(iVar7,8,keyword)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" ( (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" * (cast_expression "(code *)PTR_ReadBlob_003a8dac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,8,keyword)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar8 != 8) break;" if (parenthesized_expression "(iVar8 != 8)" ( (binary_expression "iVar8 != 8" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "piVar10 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();" (assignment_expression "piVar10 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)()" identifier = (cast_expression "(int *)(*(code *)PTR___ctype_b_loc_003a9434)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___ctype_b_loc_003a9434)()" (parenthesized_expression "(*(code *)PTR___ctype_b_loc_003a9434)" ( (pointer_expression "*(code *)PTR___ctype_b_loc_003a9434" * (cast_expression "(code *)PTR___ctype_b_loc_003a9434" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "pbVar25 = (byte *)keyword;" (assignment_expression "pbVar25 = (byte *)keyword" identifier = (cast_expression "(byte *)keyword" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n          if ((*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0) break;\n          puVar9 = puVar9 + 1;\n          bVar19 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar25 = bVar19;\n          pbVar25 = pbVar25 + 1;\n        } while (puVar9 != &DAT_00000008);" do (compound_statement "{\n          if ((*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0) break;\n          puVar9 = puVar9 + 1;\n          bVar19 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar25 = bVar19;\n          pbVar25 = pbVar25 + 1;\n        }" { (if_statement "if ((*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0) break;" if (parenthesized_expression "((*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0)" ( (binary_expression "(*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0" (parenthesized_expression "(*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20)" ( (binary_expression "*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20" (pointer_expression "*(ushort *)(*piVar10 + (uint)*pbVar25 * 2)" * (cast_expression "(ushort *)(*piVar10 + (uint)*pbVar25 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar10 + (uint)*pbVar25 * 2)" ( (binary_expression "*piVar10 + (uint)*pbVar25 * 2" (pointer_expression "*piVar10" * identifier) + (binary_expression "(uint)*pbVar25 * 2" (binary_expression "(uint)*pbVar25" (parenthesized_expression "(uint)" ( identifier )) * identifier) * number_literal)) )))) & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar9 = puVar9 + 1;" (assignment_expression "puVar9 = puVar9 + 1" identifier = (binary_expression "puVar9 + 1" identifier + number_literal)) ;) (expression_statement "bVar19 = (*(code *)PTR_LocaleLowercase_003a9684)();" (assignment_expression "bVar19 = (*(code *)PTR_LocaleLowercase_003a9684)()" identifier = (call_expression "(*(code *)PTR_LocaleLowercase_003a9684)()" (parenthesized_expression "(*(code *)PTR_LocaleLowercase_003a9684)" ( (pointer_expression "*(code *)PTR_LocaleLowercase_003a9684" * (cast_expression "(code *)PTR_LocaleLowercase_003a9684" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "*pbVar25 = bVar19;" (assignment_expression "*pbVar25 = bVar19" (pointer_expression "*pbVar25" * identifier) = identifier) ;) (expression_statement "pbVar25 = pbVar25 + 1;" (assignment_expression "pbVar25 = pbVar25 + 1" identifier = (binary_expression "pbVar25 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar9 != &DAT_00000008)" ( (binary_expression "puVar9 != &DAT_00000008" identifier != (pointer_expression "&DAT_00000008" & identifier)) )) ;) (expression_statement "pbVar25 = (byte *)value;" (assignment_expression "pbVar25 = (byte *)value" identifier = (cast_expression "(byte *)value" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "keyword[(int)puVar9] = '\0';" (assignment_expression "keyword[(int)puVar9] = '\0'" (subscript_expression "keyword[(int)puVar9]" identifier [ (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(iVar7,0x48,pbVar25);" (assignment_expression "iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(iVar7,0x48,pbVar25)" identifier = (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(iVar7,0x48,pbVar25)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" ( (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" * (cast_expression "(code *)PTR_ReadBlob_003a8dac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,0x48,pbVar25)" ( identifier , number_literal , identifier )))) ;) (expression_statement "value[0x48] = '\0';" (assignment_expression "value[0x48] = '\0'" (subscript_expression "value[0x48]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (iVar8 != 0x48) break;" if (parenthesized_expression "(iVar8 != 0x48)" ( (binary_expression "iVar8 != 0x48" identifier != number_literal) )) (break_statement "break;" break ;)) (if_statement "if (value[0] == '=') {\n          pbVar25 = (byte *)(value + 2);\n          while ((*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0) {\n            pbVar25 = pbVar25 + 1;\n          }\n        }" if (parenthesized_expression "(value[0] == '=')" ( (binary_expression "value[0] == '='" (subscript_expression "value[0]" identifier [ number_literal ]) == (char_literal "'='" ' character ')) )) (compound_statement "{\n          pbVar25 = (byte *)(value + 2);\n          while ((*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0) {\n            pbVar25 = pbVar25 + 1;\n          }\n        }" { (expression_statement "pbVar25 = (byte *)(value + 2);" (assignment_expression "pbVar25 = (byte *)(value + 2)" identifier = (cast_expression "(byte *)(value + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(value + 2)" ( (binary_expression "value + 2" identifier + number_literal) )))) ;) (while_statement "while ((*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0) {\n            pbVar25 = pbVar25 + 1;\n          }" while (parenthesized_expression "((*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0)" ( (binary_expression "(*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20) != 0" (parenthesized_expression "(*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20)" ( (binary_expression "*(ushort *)(*piVar10 + (uint)*pbVar25 * 2) & 0x20" (pointer_expression "*(ushort *)(*piVar10 + (uint)*pbVar25 * 2)" * (cast_expression "(ushort *)(*piVar10 + (uint)*pbVar25 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar10 + (uint)*pbVar25 * 2)" ( (binary_expression "*piVar10 + (uint)*pbVar25 * 2" (pointer_expression "*piVar10" * identifier) + (binary_expression "(uint)*pbVar25 * 2" (binary_expression "(uint)*pbVar25" (parenthesized_expression "(uint)" ( identifier )) * identifier) * number_literal)) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            pbVar25 = pbVar25 + 1;\n          }" { (expression_statement "pbVar25 = pbVar25 + 1;" (assignment_expression "pbVar25 = pbVar25 + 1" identifier = (binary_expression "pbVar25 + 1" identifier + number_literal)) ;) })) })) (expression_statement "iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar27);" (assignment_expression "iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar27)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar27)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(keyword,puVar27)" ( identifier , identifier )))) ;) (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar28);" (assignment_expression "iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar28)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar28)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(keyword,puVar28)" ( identifier , identifier )))) ;) (if_statement "if (iVar8 == 0) {\n          fits_info.extend = (MagickBooleanType)((*pbVar25 & 0xdf) == 0x54);\n        }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n          fits_info.extend = (MagickBooleanType)((*pbVar25 & 0xdf) == 0x54);\n        }" { (expression_statement "fits_info.extend = (MagickBooleanType)((*pbVar25 & 0xdf) == 0x54);" (assignment_expression "fits_info.extend = (MagickBooleanType)((*pbVar25 & 0xdf) == 0x54)" (field_expression "fits_info.extend" identifier . field_identifier) = (call_expression "(MagickBooleanType)((*pbVar25 & 0xdf) == 0x54)" (parenthesized_expression "(MagickBooleanType)" ( identifier )) (argument_list "((*pbVar25 & 0xdf) == 0x54)" ( (binary_expression "(*pbVar25 & 0xdf) == 0x54" (parenthesized_expression "(*pbVar25 & 0xdf)" ( (binary_expression "*pbVar25 & 0xdf" (pointer_expression "*pbVar25" * identifier) & number_literal) )) == number_literal) )))) ;) })) (expression_statement "iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar3 + -0xe28);" (assignment_expression "iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar3 + -0xe28)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar3 + -0xe28)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(keyword,puVar3 + -0xe28)" ( identifier , (binary_expression "puVar3 + -0xe28" identifier + number_literal) )))) ;) (if_statement "if (iVar8 == 0) {\n          fits_info.simple = (MagickBooleanType)((*pbVar25 & 0xdf) == 0x54);\n        }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n          fits_info.simple = (MagickBooleanType)((*pbVar25 & 0xdf) == 0x54);\n        }" { (expression_statement "fits_info.simple = (MagickBooleanType)((*pbVar25 & 0xdf) == 0x54);" (assignment_expression "fits_info.simple = (MagickBooleanType)((*pbVar25 & 0xdf) == 0x54)" (field_expression "fits_info.simple" identifier . field_identifier) = (call_expression "(MagickBooleanType)((*pbVar25 & 0xdf) == 0x54)" (parenthesized_expression "(MagickBooleanType)" ( identifier )) (argument_list "((*pbVar25 & 0xdf) == 0x54)" ( (binary_expression "(*pbVar25 & 0xdf) == 0x54" (parenthesized_expression "(*pbVar25 & 0xdf)" ( (binary_expression "*pbVar25 & 0xdf" (pointer_expression "*pbVar25" * identifier) & number_literal) )) == number_literal) )))) ;) })) (expression_statement "iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar20);" (assignment_expression "iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar20)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar20)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(keyword,puVar20)" ( identifier , identifier )))) ;) (if_statement "if (iVar8 == 0) {\n          fits_info.bits_per_pixel = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n          fits_info.bits_per_pixel = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }" { (expression_statement "fits_info.bits_per_pixel = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);" (assignment_expression "fits_info.bits_per_pixel = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10)" (field_expression "fits_info.bits_per_pixel" identifier . field_identifier) = (call_expression "(*(code *)PTR_strtol_003a954c)(pbVar25,0,10)" (parenthesized_expression "(*(code *)PTR_strtol_003a954c)" ( (pointer_expression "*(code *)PTR_strtol_003a954c" * (cast_expression "(code *)PTR_strtol_003a954c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar25,0,10)" ( identifier , number_literal , number_literal )))) ;) })) (expression_statement "iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar3 + -0xe18);" (assignment_expression "iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar3 + -0xe18)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(keyword,puVar3 + -0xe18)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(keyword,puVar3 + -0xe18)" ( identifier , (binary_expression "puVar3 + -0xe18" identifier + number_literal) )))) ;) (if_statement "if (iVar8 == 0) {\n          fits_info.number_axes = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n          fits_info.number_axes = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }" { (expression_statement "fits_info.number_axes = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);" (assignment_expression "fits_info.number_axes = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10)" (field_expression "fits_info.number_axes" identifier . field_identifier) = (call_expression "(*(code *)PTR_strtol_003a954c)(pbVar25,0,10)" (parenthesized_expression "(*(code *)PTR_strtol_003a954c)" ( (pointer_expression "*(code *)PTR_strtol_003a954c" * (cast_expression "(code *)PTR_strtol_003a954c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar25,0,10)" ( identifier , number_literal , number_literal )))) ;) })) (expression_statement "iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe10);" (assignment_expression "iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe10)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe10)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(keyword,PTR_UINT_003a8950 + -0xe10)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xe10" identifier + number_literal) )))) ;) (if_statement "if (iVar8 == 0) {\n          fits_info.columns = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n          fits_info.columns = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }" { (expression_statement "fits_info.columns = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);" (assignment_expression "fits_info.columns = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10)" (field_expression "fits_info.columns" identifier . field_identifier) = (call_expression "(*(code *)PTR_strtol_003a954c)(pbVar25,0,10)" (parenthesized_expression "(*(code *)PTR_strtol_003a954c)" ( (pointer_expression "*(code *)PTR_strtol_003a954c" * (cast_expression "(code *)PTR_strtol_003a954c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar25,0,10)" ( identifier , number_literal , number_literal )))) ;) })) (expression_statement "iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe08);" (assignment_expression "iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe08)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe08)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(keyword,PTR_UINT_003a8950 + -0xe08)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xe08" identifier + number_literal) )))) ;) (if_statement "if (iVar8 == 0) {\n          fits_info.rows = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n          fits_info.rows = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }" { (expression_statement "fits_info.rows = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);" (assignment_expression "fits_info.rows = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10)" (field_expression "fits_info.rows" identifier . field_identifier) = (call_expression "(*(code *)PTR_strtol_003a954c)(pbVar25,0,10)" (parenthesized_expression "(*(code *)PTR_strtol_003a954c)" ( (pointer_expression "*(code *)PTR_strtol_003a954c" * (cast_expression "(code *)PTR_strtol_003a954c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar25,0,10)" ( identifier , number_literal , number_literal )))) ;) })) (expression_statement "iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe00);" (assignment_expression "iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe00)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xe00)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(keyword,PTR_UINT_003a8950 + -0xe00)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xe00" identifier + number_literal) )))) ;) (if_statement "if (iVar8 == 0) {\n          fits_info.number_planes = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n          fits_info.number_planes = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);\n        }" { (expression_statement "fits_info.number_planes = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10);" (assignment_expression "fits_info.number_planes = (*(code *)PTR_strtol_003a954c)(pbVar25,0,10)" (field_expression "fits_info.number_planes" identifier . field_identifier) = (call_expression "(*(code *)PTR_strtol_003a954c)(pbVar25,0,10)" (parenthesized_expression "(*(code *)PTR_strtol_003a954c)" ( (pointer_expression "*(code *)PTR_strtol_003a954c" * (cast_expression "(code *)PTR_strtol_003a954c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar25,0,10)" ( identifier , number_literal , number_literal )))) ;) })) (expression_statement "iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdf8);" (assignment_expression "iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdf8)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdf8)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(keyword,PTR_UINT_003a8950 + -0xdf8)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xdf8" identifier + number_literal) )))) ;) (if_statement "if (iVar8 == 0) {\n          fits_info.max_data = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n          fits_info.max_data = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }" { (expression_statement "fits_info.max_data = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);" (assignment_expression "fits_info.max_data = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0)" (field_expression "fits_info.max_data" identifier . field_identifier) = (cast_expression "(double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,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 "(pbVar25,0)" ( identifier , number_literal ))))) ;) })) (expression_statement "iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdf0);" (assignment_expression "iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdf0)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdf0)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(keyword,PTR_UINT_003a8950 + -0xdf0)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xdf0" identifier + number_literal) )))) ;) (if_statement "if (iVar8 == 0) {\n          fits_info.min_data = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n          fits_info.min_data = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }" { (expression_statement "fits_info.min_data = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);" (assignment_expression "fits_info.min_data = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0)" (field_expression "fits_info.min_data" identifier . field_identifier) = (cast_expression "(double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,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 "(pbVar25,0)" ( identifier , number_literal ))))) ;) })) (expression_statement "iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xde8);" (assignment_expression "iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xde8)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xde8)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(keyword,PTR_UINT_003a8950 + -0xde8)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xde8" identifier + number_literal) )))) ;) (if_statement "if (iVar8 == 0) {\n          fits_info.zero = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n          fits_info.zero = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }" { (expression_statement "fits_info.zero = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);" (assignment_expression "fits_info.zero = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0)" (field_expression "fits_info.zero" identifier . field_identifier) = (cast_expression "(double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,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 "(pbVar25,0)" ( identifier , number_literal ))))) ;) })) (expression_statement "iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xde0);" (assignment_expression "iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xde0)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xde0)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(keyword,PTR_UINT_003a8950 + -0xde0)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xde0" identifier + number_literal) )))) ;) (if_statement "if (iVar8 == 0) {\n          fits_info.scale = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n          fits_info.scale = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);\n        }" { (expression_statement "fits_info.scale = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0);" (assignment_expression "fits_info.scale = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0)" (field_expression "fits_info.scale" identifier . field_identifier) = (cast_expression "(double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,0)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar25,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 "(pbVar25,0)" ( identifier , number_literal ))))) ;) })) (expression_statement "iVar8 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (keyword,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);" (assignment_expression "iVar8 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (keyword,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)\n                          (keyword,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(keyword,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928)" ( identifier , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928" identifier + number_literal) )))) ;) (if_statement "if (iVar8 == 0) {\n          if (comment == (char *)0x0) {\n            comment = (char *)(*(code *)PTR_ConstantString_003a90b4)(pbVar25);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(&comment,pbVar25);\n          }\n        }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n          if (comment == (char *)0x0) {\n            comment = (char *)(*(code *)PTR_ConstantString_003a90b4)(pbVar25);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(&comment,pbVar25);\n          }\n        }" { (if_statement "if (comment == (char *)0x0) {\n            comment = (char *)(*(code *)PTR_ConstantString_003a90b4)(pbVar25);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(&comment,pbVar25);\n          }" if (parenthesized_expression "(comment == (char *)0x0)" ( (binary_expression "comment == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            comment = (char *)(*(code *)PTR_ConstantString_003a90b4)(pbVar25);\n          }" { (expression_statement "comment = (char *)(*(code *)PTR_ConstantString_003a90b4)(pbVar25);" (assignment_expression "comment = (char *)(*(code *)PTR_ConstantString_003a90b4)(pbVar25)" identifier = (cast_expression "(char *)(*(code *)PTR_ConstantString_003a90b4)(pbVar25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_ConstantString_003a90b4)(pbVar25)" (parenthesized_expression "(*(code *)PTR_ConstantString_003a90b4)" ( (pointer_expression "*(code *)PTR_ConstantString_003a90b4" * (cast_expression "(code *)PTR_ConstantString_003a90b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar25)" ( identifier ))))) ;) }) (else_clause "else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(&comment,pbVar25);\n          }" else (compound_statement "{\n            (*(code *)PTR_ConcatenateString_003a93a8)(&comment,pbVar25);\n          }" { (expression_statement "(*(code *)PTR_ConcatenateString_003a93a8)(&comment,pbVar25);" (call_expression "(*(code *)PTR_ConcatenateString_003a93a8)(&comment,pbVar25)" (parenthesized_expression "(*(code *)PTR_ConcatenateString_003a93a8)" ( (pointer_expression "*(code *)PTR_ConcatenateString_003a93a8" * (cast_expression "(code *)PTR_ConcatenateString_003a93a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&comment,pbVar25)" ( (pointer_expression "&comment" & identifier) , identifier ))) ;) }))) })) (expression_statement "iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdd8);" (assignment_expression "iVar8 = (*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdd8)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(keyword,PTR_UINT_003a8950 + -0xdd8)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(keyword,PTR_UINT_003a8950 + -0xdd8)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xdd8" identifier + number_literal) )))) ;) (if_statement "if (iVar8 == 0) {\n          iVar8 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar25,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar8 == 0) {\n            fits_info.endian = MSBEndian;\n          }\n          else {\n            fits_info.endian = LSBEndian;\n          }\n        }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar8 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar25,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar8 == 0) {\n            fits_info.endian = MSBEndian;\n          }\n          else {\n            fits_info.endian = LSBEndian;\n          }\n        }" { (expression_statement "iVar8 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar25,PTR_UINT_003a8950 + -0xdd0,3);" (assignment_expression "iVar8 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar25,PTR_UINT_003a8950 + -0xdd0,3)" identifier = (call_expression "(*(code *)PTR_LocaleNCompare_003a961c)(pbVar25,PTR_UINT_003a8950 + -0xdd0,3)" (parenthesized_expression "(*(code *)PTR_LocaleNCompare_003a961c)" ( (pointer_expression "*(code *)PTR_LocaleNCompare_003a961c" * (cast_expression "(code *)PTR_LocaleNCompare_003a961c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar25,PTR_UINT_003a8950 + -0xdd0,3)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xdd0" identifier + number_literal) , number_literal )))) ;) (if_statement "if (iVar8 == 0) {\n            fits_info.endian = MSBEndian;\n          }\n          else {\n            fits_info.endian = LSBEndian;\n          }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n            fits_info.endian = MSBEndian;\n          }" { (expression_statement "fits_info.endian = MSBEndian;" (assignment_expression "fits_info.endian = MSBEndian" (field_expression "fits_info.endian" identifier . field_identifier) = identifier) ;) }) (else_clause "else {\n            fits_info.endian = LSBEndian;\n          }" else (compound_statement "{\n            fits_info.endian = LSBEndian;\n          }" { (expression_statement "fits_info.endian = LSBEndian;" (assignment_expression "fits_info.endian = LSBEndian" (field_expression "fits_info.endian" identifier . field_identifier) = identifier) ;) }))) })) (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (property,0x1000,PTR_UINT_003a8950 + -0xdcc,keyword);" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (property,0x1000,PTR_UINT_003a8950 + -0xdcc,keyword)" (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 "(property,0x1000,PTR_UINT_003a8950 + -0xdcc,keyword)" ( identifier , number_literal , (binary_expression "PTR_UINT_003a8950 + -0xdcc" identifier + number_literal) , identifier ))) ;) (expression_statement "(*(code *)PTR_SetImageProperty_003a9534)(iVar7,property,pbVar25,exception);" (call_expression "(*(code *)PTR_SetImageProperty_003a9534)(iVar7,property,pbVar25,exception)" (parenthesized_expression "(*(code *)PTR_SetImageProperty_003a9534)" ( (pointer_expression "*(code *)PTR_SetImageProperty_003a9534" * (cast_expression "(code *)PTR_SetImageProperty_003a9534" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,property,pbVar25,exception)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "puVar9 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar7);" (assignment_expression "puVar9 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar7)" identifier = (cast_expression "(undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_EOFBlob_003a9748)(iVar7)" (parenthesized_expression "(*(code *)PTR_EOFBlob_003a9748)" ( (pointer_expression "*(code *)PTR_EOFBlob_003a9748" * (cast_expression "(code *)PTR_EOFBlob_003a9748" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier ))))) ;) })) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n        uVar34 = (*(code *)PTR_TellBlob_003a931c)(iVar7);\n        lVar35 = (*(code *)PTR___moddi3_003a8a78)\n                           ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34,0,0xb40);\n        if ((lVar35 == 0) || (iVar8 == -1)) break;\n        iVar8 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        uVar34 = (*(code *)PTR_TellBlob_003a931c)(iVar7);\n        lVar35 = (*(code *)PTR___moddi3_003a8a78)\n                           ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34,0,0xb40);\n        if ((lVar35 == 0) || (iVar8 == -1)) break;\n        iVar8 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n      }" { (expression_statement "uVar34 = (*(code *)PTR_TellBlob_003a931c)(iVar7);" (assignment_expression "uVar34 = (*(code *)PTR_TellBlob_003a931c)(iVar7)" identifier = (call_expression "(*(code *)PTR_TellBlob_003a931c)(iVar7)" (parenthesized_expression "(*(code *)PTR_TellBlob_003a931c)" ( (pointer_expression "*(code *)PTR_TellBlob_003a931c" * (cast_expression "(code *)PTR_TellBlob_003a931c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier )))) ;) (expression_statement "lVar35 = (*(code *)PTR___moddi3_003a8a78)\n                           ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34,0,0xb40);" (assignment_expression "lVar35 = (*(code *)PTR___moddi3_003a8a78)\n                           ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34,0,0xb40)" identifier = (call_expression "(*(code *)PTR___moddi3_003a8a78)\n                           ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34,0,0xb40)" (parenthesized_expression "(*(code *)PTR___moddi3_003a8a78)" ( (pointer_expression "*(code *)PTR___moddi3_003a8a78" * (cast_expression "(code *)PTR___moddi3_003a8a78" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((int)((ulonglong)uVar34 >> 0x20),(int)uVar34,0,0xb40)" ( (cast_expression "(int)((ulonglong)uVar34 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar34 >> 0x20)" ( (binary_expression "(ulonglong)uVar34 >> 0x20" (cast_expression "(ulonglong)uVar34" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (cast_expression "(int)uVar34" ( (type_descriptor "int" primitive_type) ) identifier) , number_literal , number_literal )))) ;) (if_statement "if ((lVar35 == 0) || (iVar8 == -1)) break;" if (parenthesized_expression "((lVar35 == 0) || (iVar8 == -1))" ( (binary_expression "(lVar35 == 0) || (iVar8 == -1)" (parenthesized_expression "(lVar35 == 0)" ( (binary_expression "lVar35 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar8 == -1)" ( (binary_expression "iVar8 == -1" identifier == number_literal) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);" (assignment_expression "iVar8 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(iVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier )))) ;) })) (if_statement "if (fits_info.extend == MagickFalse) goto LAB_00224bd4;" if (parenthesized_expression "(fits_info.extend == MagickFalse)" ( (binary_expression "fits_info.extend == MagickFalse" (field_expression "fits_info.extend" identifier . field_identifier) == identifier) )) (goto_statement "goto LAB_00224bd4;" goto statement_identifier ;)) (if_statement "if (fits_info.bits_per_pixel - 8U < 0x19) {\n        if (-1 < (int)((0x1000101U >> (fits_info.bits_per_pixel - 8U & 0x1f)) << 0x1f))\n        goto LAB_002245cc;\n      }\n      else if (fits_info.bits_per_pixel != 0x40) {\nLAB_002245cc:\n        if ((fits_info.bits_per_pixel & 0xffffffdfU) != 0xffffffc0) {\n          if (comment != (char *)0x0) {\n            comment = (char *)(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar24 = 400;\n          puVar20 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }" if (parenthesized_expression "(fits_info.bits_per_pixel - 8U < 0x19)" ( (binary_expression "fits_info.bits_per_pixel - 8U < 0x19" (binary_expression "fits_info.bits_per_pixel - 8U" (field_expression "fits_info.bits_per_pixel" identifier . field_identifier) - number_literal) < number_literal) )) (compound_statement "{\n        if (-1 < (int)((0x1000101U >> (fits_info.bits_per_pixel - 8U & 0x1f)) << 0x1f))\n        goto LAB_002245cc;\n      }" { (if_statement "if (-1 < (int)((0x1000101U >> (fits_info.bits_per_pixel - 8U & 0x1f)) << 0x1f))\n        goto LAB_002245cc;" if (parenthesized_expression "(-1 < (int)((0x1000101U >> (fits_info.bits_per_pixel - 8U & 0x1f)) << 0x1f))" ( (binary_expression "-1 < (int)((0x1000101U >> (fits_info.bits_per_pixel - 8U & 0x1f)) << 0x1f)" number_literal < (cast_expression "(int)((0x1000101U >> (fits_info.bits_per_pixel - 8U & 0x1f)) << 0x1f)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((0x1000101U >> (fits_info.bits_per_pixel - 8U & 0x1f)) << 0x1f)" ( (binary_expression "(0x1000101U >> (fits_info.bits_per_pixel - 8U & 0x1f)) << 0x1f" (parenthesized_expression "(0x1000101U >> (fits_info.bits_per_pixel - 8U & 0x1f))" ( (binary_expression "0x1000101U >> (fits_info.bits_per_pixel - 8U & 0x1f)" number_literal >> (parenthesized_expression "(fits_info.bits_per_pixel - 8U & 0x1f)" ( (binary_expression "fits_info.bits_per_pixel - 8U & 0x1f" (binary_expression "fits_info.bits_per_pixel - 8U" (field_expression "fits_info.bits_per_pixel" identifier . field_identifier) - number_literal) & number_literal) ))) )) << number_literal) )))) )) (goto_statement "goto LAB_002245cc;" goto statement_identifier ;)) }) (else_clause "else if (fits_info.bits_per_pixel != 0x40) {\nLAB_002245cc:\n        if ((fits_info.bits_per_pixel & 0xffffffdfU) != 0xffffffc0) {\n          if (comment != (char *)0x0) {\n            comment = (char *)(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar24 = 400;\n          puVar20 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }" else (if_statement "if (fits_info.bits_per_pixel != 0x40) {\nLAB_002245cc:\n        if ((fits_info.bits_per_pixel & 0xffffffdfU) != 0xffffffc0) {\n          if (comment != (char *)0x0) {\n            comment = (char *)(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar24 = 400;\n          puVar20 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }" if (parenthesized_expression "(fits_info.bits_per_pixel != 0x40)" ( (binary_expression "fits_info.bits_per_pixel != 0x40" (field_expression "fits_info.bits_per_pixel" identifier . field_identifier) != number_literal) )) (compound_statement "{\nLAB_002245cc:\n        if ((fits_info.bits_per_pixel & 0xffffffdfU) != 0xffffffc0) {\n          if (comment != (char *)0x0) {\n            comment = (char *)(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar24 = 400;\n          puVar20 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }" { (labeled_statement "LAB_002245cc:\n        if ((fits_info.bits_per_pixel & 0xffffffdfU) != 0xffffffc0) {\n          if (comment != (char *)0x0) {\n            comment = (char *)(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar24 = 400;\n          puVar20 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }" statement_identifier : (if_statement "if ((fits_info.bits_per_pixel & 0xffffffdfU) != 0xffffffc0) {\n          if (comment != (char *)0x0) {\n            comment = (char *)(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar24 = 400;\n          puVar20 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }" if (parenthesized_expression "((fits_info.bits_per_pixel & 0xffffffdfU) != 0xffffffc0)" ( (binary_expression "(fits_info.bits_per_pixel & 0xffffffdfU) != 0xffffffc0" (parenthesized_expression "(fits_info.bits_per_pixel & 0xffffffdfU)" ( (binary_expression "fits_info.bits_per_pixel & 0xffffffdfU" (field_expression "fits_info.bits_per_pixel" identifier . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n          if (comment != (char *)0x0) {\n            comment = (char *)(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar24 = 400;\n          puVar20 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }" { (if_statement "if (comment != (char *)0x0) {\n            comment = (char *)(*(code *)PTR_DestroyString_003a9074)();\n          }" if (parenthesized_expression "(comment != (char *)0x0)" ( (binary_expression "comment != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            comment = (char *)(*(code *)PTR_DestroyString_003a9074)();\n          }" { (expression_statement "comment = (char *)(*(code *)PTR_DestroyString_003a9074)();" (assignment_expression "comment = (char *)(*(code *)PTR_DestroyString_003a9074)()" identifier = (cast_expression "(char *)(*(code *)PTR_DestroyString_003a9074)()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_DestroyString_003a9074)()" (parenthesized_expression "(*(code *)PTR_DestroyString_003a9074)" ( (pointer_expression "*(code *)PTR_DestroyString_003a9074" * (cast_expression "(code *)PTR_DestroyString_003a9074" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) })) (expression_statement "uVar24 = 400;" (assignment_expression "uVar24 = 400" identifier = number_literal) ;) (expression_statement "puVar20 = PTR_s_courses_003a88ec + -400;" (assignment_expression "puVar20 = PTR_s_courses_003a88ec + -400" identifier = (binary_expression "PTR_s_courses_003a88ec + -400" identifier + number_literal)) ;) (goto_statement "goto LAB_00224c3c;" goto statement_identifier ;) }))) })))) }) while (parenthesized_expression "(((fits_info.simple == MagickFalse) || (3 < fits_info.number_axes - 1U)) ||\n            (lVar37 = (longlong)fits_info.columns * (longlong)fits_info.rows,\n            MVar11 = fits_info.simple, iVar8 = fits_info.columns, iVar12 = fits_info.rows,\n            lVar37 == 0))" ( (binary_expression "((fits_info.simple == MagickFalse) || (3 < fits_info.number_axes - 1U)) ||\n            (lVar37 = (longlong)fits_info.columns * (longlong)fits_info.rows,\n            MVar11 = fits_info.simple, iVar8 = fits_info.columns, iVar12 = fits_info.rows,\n            lVar37 == 0)" (parenthesized_expression "((fits_info.simple == MagickFalse) || (3 < fits_info.number_axes - 1U))" ( (binary_expression "(fits_info.simple == MagickFalse) || (3 < fits_info.number_axes - 1U)" (parenthesized_expression "(fits_info.simple == MagickFalse)" ( (binary_expression "fits_info.simple == MagickFalse" (field_expression "fits_info.simple" identifier . field_identifier) == identifier) )) || (parenthesized_expression "(3 < fits_info.number_axes - 1U)" ( (binary_expression "3 < fits_info.number_axes - 1U" number_literal < (binary_expression "fits_info.number_axes - 1U" (field_expression "fits_info.number_axes" identifier . field_identifier) - number_literal)) ))) )) || (parenthesized_expression "(lVar37 = (longlong)fits_info.columns * (longlong)fits_info.rows,\n            MVar11 = fits_info.simple, iVar8 = fits_info.columns, iVar12 = fits_info.rows,\n            lVar37 == 0)" ( (comma_expression "lVar37 = (longlong)fits_info.columns * (longlong)fits_info.rows,\n            MVar11 = fits_info.simple, iVar8 = fits_info.columns, iVar12 = fits_info.rows,\n            lVar37 == 0" (assignment_expression "lVar37 = (longlong)fits_info.columns * (longlong)fits_info.rows" identifier = (binary_expression "(longlong)fits_info.columns * (longlong)fits_info.rows" (cast_expression "(longlong)fits_info.columns" ( (type_descriptor "longlong" type_identifier) ) (field_expression "fits_info.columns" identifier . field_identifier)) * (cast_expression "(longlong)fits_info.rows" ( (type_descriptor "longlong" type_identifier) ) (field_expression "fits_info.rows" identifier . field_identifier)))) , (comma_expression "MVar11 = fits_info.simple, iVar8 = fits_info.columns, iVar12 = fits_info.rows,\n            lVar37 == 0" (assignment_expression "MVar11 = fits_info.simple" identifier = (field_expression "fits_info.simple" identifier . field_identifier)) , (comma_expression "iVar8 = fits_info.columns, iVar12 = fits_info.rows,\n            lVar37 == 0" (assignment_expression "iVar8 = fits_info.columns" identifier = (field_expression "fits_info.columns" identifier . field_identifier)) , (comma_expression "iVar12 = fits_info.rows,\n            lVar37 == 0" (assignment_expression "iVar12 = fits_info.rows" identifier = (field_expression "fits_info.rows" identifier . field_identifier)) , (binary_expression "lVar37 == 0" identifier == number_literal))))) ))) )) ;) (expression_statement "local_1144 = iVar12;" (assignment_expression "local_1144 = iVar12" identifier = identifier) ;) (expression_statement "local_1148 = iVar8;" (assignment_expression "local_1148 = iVar8" identifier = identifier) ;) (expression_statement "fits_info.simple = MVar11;" (assignment_expression "fits_info.simple = MVar11" (field_expression "fits_info.simple" identifier . field_identifier) = identifier) ;) (expression_statement "fits_info.columns = local_1148;" (assignment_expression "fits_info.columns = local_1148" (field_expression "fits_info.columns" identifier . field_identifier) = identifier) ;) (expression_statement "fits_info.rows = local_1144;" (assignment_expression "fits_info.rows = local_1144" (field_expression "fits_info.rows" identifier . field_identifier) = identifier) ;) (if_statement "if (comment != (char *)0x0) {\n      (*(code *)PTR_SetImageProperty_003a9534)\n                (iVar7,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,comment,exception);\n      comment = (char *)(*(code *)PTR_DestroyString_003a9074)(comment);\n    }" if (parenthesized_expression "(comment != (char *)0x0)" ( (binary_expression "comment != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*(code *)PTR_SetImageProperty_003a9534)\n                (iVar7,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,comment,exception);\n      comment = (char *)(*(code *)PTR_DestroyString_003a9074)(comment);\n    }" { (expression_statement "(*(code *)PTR_SetImageProperty_003a9534)\n                (iVar7,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,comment,exception);" (call_expression "(*(code *)PTR_SetImageProperty_003a9534)\n                (iVar7,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,comment,exception)" (parenthesized_expression "(*(code *)PTR_SetImageProperty_003a9534)" ( (pointer_expression "*(code *)PTR_SetImageProperty_003a9534" * (cast_expression "(code *)PTR_SetImageProperty_003a9534" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,comment,exception)" ( identifier , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "comment = (char *)(*(code *)PTR_DestroyString_003a9074)(comment);" (assignment_expression "comment = (char *)(*(code *)PTR_DestroyString_003a9074)(comment)" identifier = (cast_expression "(char *)(*(code *)PTR_DestroyString_003a9074)(comment)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_DestroyString_003a9074)(comment)" (parenthesized_expression "(*(code *)PTR_DestroyString_003a9074)" ( (pointer_expression "*(code *)PTR_DestroyString_003a9074" * (cast_expression "(code *)PTR_DestroyString_003a9074" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(comment)" ( identifier ))))) ;) })) (expression_statement "iVar8 = (int)lVar37;" (assignment_expression "iVar8 = (int)lVar37" identifier = (cast_expression "(int)lVar37" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "lVar35 = CONCAT44(iVar8,puVar9);" (assignment_expression "lVar35 = CONCAT44(iVar8,puVar9)" identifier = (call_expression "CONCAT44(iVar8,puVar9)" identifier (argument_list "(iVar8,puVar9)" ( identifier , identifier )))) ;) (expression_statement "iVar12 = (*(code *)PTR_EOFBlob_003a9748)(iVar7);" (assignment_expression "iVar12 = (*(code *)PTR_EOFBlob_003a9748)(iVar7)" identifier = (call_expression "(*(code *)PTR_EOFBlob_003a9748)(iVar7)" (parenthesized_expression "(*(code *)PTR_EOFBlob_003a9748)" ( (pointer_expression "*(code *)PTR_EOFBlob_003a9748" * (cast_expression "(code *)PTR_EOFBlob_003a9748" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier )))) ;) (if_statement "if (iVar12 != 0) {\n      puVar17 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar24 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar17);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar7 + 0x340,uVar24);\n      (*(code *)PTR_DestroyString_003a9074)(uVar24);\n    }" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (compound_statement "{\n      puVar17 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar24 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar17);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar7 + 0x340,uVar24);\n      (*(code *)PTR_DestroyString_003a9074)(uVar24);\n    }" { (expression_statement "puVar17 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "puVar17 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_003a99b0)()" (parenthesized_expression "(*(code *)PTR___errno_location_003a99b0)" ( (pointer_expression "*(code *)PTR___errno_location_003a99b0" * (cast_expression "(code *)PTR___errno_location_003a99b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar24 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar17);" (assignment_expression "uVar24 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar17)" identifier = (call_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar17)" (parenthesized_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)" ( (pointer_expression "*(code *)PTR_GetExceptionMessage_003a93ec" * (cast_expression "(code *)PTR_GetExceptionMessage_003a93ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar17)" ( (pointer_expression "*puVar17" * identifier) )))) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar7 + 0x340,uVar24);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar7 + 0x340,uVar24)" (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,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar7 + 0x340,uVar24)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xe40" identifier + number_literal) , (binary_expression "PTR_UINT_003a8950 + -0xc70" identifier + number_literal) , number_literal , number_literal , (binary_expression "PTR_s_courses_003a88ec + -0x17c" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0xe78" identifier + number_literal) , (binary_expression "iVar7 + 0x340" identifier + number_literal) , identifier ))) ;) (expression_statement "(*(code *)PTR_DestroyString_003a9074)(uVar24);" (call_expression "(*(code *)PTR_DestroyString_003a9074)(uVar24)" (parenthesized_expression "(*(code *)PTR_DestroyString_003a9074)" ( (pointer_expression "*(code *)PTR_DestroyString_003a9074" * (cast_expression "(code *)PTR_DestroyString_003a9074" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar24)" ( identifier ))) ;) })) (if_statement "if (((MVar11 != MagickFalse) && (fits_info.number_axes - 1U < 4)) && (lVar37 != 0)) {\n      local_1138 = (undefined *)fits_info.number_planes;\n      if (0 < fits_info.number_planes) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = (undefined *)fits_info.bits_per_pixel;\n        local_1124 = fits_info.endian;\n        iVar8 = fits_info.bits_per_pixel;\n        if (0x40 < (uint)fits_info.bits_per_pixel) {\n          iVar8 = 0;\n        }\n        iVar12 = -1;\n        if (-1 < fits_info.bits_per_pixel) {\n          iVar12 = 1;\n        }\n        uVar13 = iVar8 - 1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar23 = 2 << (uVar13 & 0x1f);\n        local_1128 = iVar12 * fits_info.bits_per_pixel;\n        uVar16 = uVar23;\n        uVar26 = 1 >> (~uVar13 & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar16 = 0;\n          uVar26 = uVar23;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar16 - 1;\n        local_1120 = (uint)(local_111c < uVar16) + (uVar26 - 1);\n        goto LAB_00224900;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar7);\n      goto LAB_00224e60;\n    }" if (parenthesized_expression "(((MVar11 != MagickFalse) && (fits_info.number_axes - 1U < 4)) && (lVar37 != 0))" ( (binary_expression "((MVar11 != MagickFalse) && (fits_info.number_axes - 1U < 4)) && (lVar37 != 0)" (parenthesized_expression "((MVar11 != MagickFalse) && (fits_info.number_axes - 1U < 4))" ( (binary_expression "(MVar11 != MagickFalse) && (fits_info.number_axes - 1U < 4)" (parenthesized_expression "(MVar11 != MagickFalse)" ( (binary_expression "MVar11 != MagickFalse" identifier != identifier) )) && (parenthesized_expression "(fits_info.number_axes - 1U < 4)" ( (binary_expression "fits_info.number_axes - 1U < 4" (binary_expression "fits_info.number_axes - 1U" (field_expression "fits_info.number_axes" identifier . field_identifier) - number_literal) < number_literal) ))) )) && (parenthesized_expression "(lVar37 != 0)" ( (binary_expression "lVar37 != 0" identifier != number_literal) ))) )) (compound_statement "{\n      local_1138 = (undefined *)fits_info.number_planes;\n      if (0 < fits_info.number_planes) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = (undefined *)fits_info.bits_per_pixel;\n        local_1124 = fits_info.endian;\n        iVar8 = fits_info.bits_per_pixel;\n        if (0x40 < (uint)fits_info.bits_per_pixel) {\n          iVar8 = 0;\n        }\n        iVar12 = -1;\n        if (-1 < fits_info.bits_per_pixel) {\n          iVar12 = 1;\n        }\n        uVar13 = iVar8 - 1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar23 = 2 << (uVar13 & 0x1f);\n        local_1128 = iVar12 * fits_info.bits_per_pixel;\n        uVar16 = uVar23;\n        uVar26 = 1 >> (~uVar13 & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar16 = 0;\n          uVar26 = uVar23;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar16 - 1;\n        local_1120 = (uint)(local_111c < uVar16) + (uVar26 - 1);\n        goto LAB_00224900;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar7);\n      goto LAB_00224e60;\n    }" { (expression_statement "local_1138 = (undefined *)fits_info.number_planes;" (assignment_expression "local_1138 = (undefined *)fits_info.number_planes" identifier = (cast_expression "(undefined *)fits_info.number_planes" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "fits_info.number_planes" identifier . field_identifier))) ;) (if_statement "if (0 < fits_info.number_planes) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = (undefined *)fits_info.bits_per_pixel;\n        local_1124 = fits_info.endian;\n        iVar8 = fits_info.bits_per_pixel;\n        if (0x40 < (uint)fits_info.bits_per_pixel) {\n          iVar8 = 0;\n        }\n        iVar12 = -1;\n        if (-1 < fits_info.bits_per_pixel) {\n          iVar12 = 1;\n        }\n        uVar13 = iVar8 - 1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar23 = 2 << (uVar13 & 0x1f);\n        local_1128 = iVar12 * fits_info.bits_per_pixel;\n        uVar16 = uVar23;\n        uVar26 = 1 >> (~uVar13 & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar16 = 0;\n          uVar26 = uVar23;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar16 - 1;\n        local_1120 = (uint)(local_111c < uVar16) + (uVar26 - 1);\n        goto LAB_00224900;\n      }" if (parenthesized_expression "(0 < fits_info.number_planes)" ( (binary_expression "0 < fits_info.number_planes" number_literal < (field_expression "fits_info.number_planes" identifier . field_identifier)) )) (compound_statement "{\n        local_1154 = (undefined *)0x0;\n        local_1158 = (undefined *)fits_info.bits_per_pixel;\n        local_1124 = fits_info.endian;\n        iVar8 = fits_info.bits_per_pixel;\n        if (0x40 < (uint)fits_info.bits_per_pixel) {\n          iVar8 = 0;\n        }\n        iVar12 = -1;\n        if (-1 < fits_info.bits_per_pixel) {\n          iVar12 = 1;\n        }\n        uVar13 = iVar8 - 1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar23 = 2 << (uVar13 & 0x1f);\n        local_1128 = iVar12 * fits_info.bits_per_pixel;\n        uVar16 = uVar23;\n        uVar26 = 1 >> (~uVar13 & 0x1f);\n        if ((uVar13 & 0x20) != 0) {\n          uVar16 = 0;\n          uVar26 = uVar23;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar16 - 1;\n        local_1120 = (uint)(local_111c < uVar16) + (uVar26 - 1);\n        goto LAB_00224900;\n      }" { (expression_statement "local_1154 = (undefined *)0x0;" (assignment_expression "local_1154 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_1158 = (undefined *)fits_info.bits_per_pixel;" (assignment_expression "local_1158 = (undefined *)fits_info.bits_per_pixel" identifier = (cast_expression "(undefined *)fits_info.bits_per_pixel" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "fits_info.bits_per_pixel" identifier . field_identifier))) ;) (expression_statement "local_1124 = fits_info.endian;" (assignment_expression "local_1124 = fits_info.endian" identifier = (field_expression "fits_info.endian" identifier . field_identifier)) ;) (expression_statement "iVar8 = fits_info.bits_per_pixel;" (assignment_expression "iVar8 = fits_info.bits_per_pixel" identifier = (field_expression "fits_info.bits_per_pixel" identifier . field_identifier)) ;) (if_statement "if (0x40 < (uint)fits_info.bits_per_pixel) {\n          iVar8 = 0;\n        }" if (parenthesized_expression "(0x40 < (uint)fits_info.bits_per_pixel)" ( (binary_expression "0x40 < (uint)fits_info.bits_per_pixel" number_literal < (cast_expression "(uint)fits_info.bits_per_pixel" ( (type_descriptor "uint" type_identifier) ) (field_expression "fits_info.bits_per_pixel" identifier . field_identifier))) )) (compound_statement "{\n          iVar8 = 0;\n        }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) })) (expression_statement "iVar12 = -1;" (assignment_expression "iVar12 = -1" identifier = number_literal) ;) (if_statement "if (-1 < fits_info.bits_per_pixel) {\n          iVar12 = 1;\n        }" if (parenthesized_expression "(-1 < fits_info.bits_per_pixel)" ( (binary_expression "-1 < fits_info.bits_per_pixel" number_literal < (field_expression "fits_info.bits_per_pixel" identifier . field_identifier)) )) (compound_statement "{\n          iVar12 = 1;\n        }" { (expression_statement "iVar12 = 1;" (assignment_expression "iVar12 = 1" identifier = number_literal) ;) })) (expression_statement "uVar13 = iVar8 - 1;" (assignment_expression "uVar13 = iVar8 - 1" identifier = (binary_expression "iVar8 - 1" identifier - number_literal)) ;) (expression_statement "local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);" (assignment_expression "local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78)" identifier = (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1a78)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1a78)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1a78)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1a78" identifier + number_literal) ))))) ;) (expression_statement "in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);" (assignment_expression "in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8)" identifier = (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x13f8)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x13f8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x13f8)" ( (binary_expression "PTR_LAB_003a88e0 + 0x13f8" identifier + number_literal) ))))) ;) (expression_statement "in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);" (assignment_expression "in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58)" identifier = (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1a58)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1a58)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1a58" identifier + number_literal) ))))) ;) (expression_statement "uVar23 = 2 << (uVar13 & 0x1f);" (assignment_expression "uVar23 = 2 << (uVar13 & 0x1f)" identifier = (binary_expression "2 << (uVar13 & 0x1f)" number_literal << (parenthesized_expression "(uVar13 & 0x1f)" ( (binary_expression "uVar13 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "local_1128 = iVar12 * fits_info.bits_per_pixel;" (assignment_expression "local_1128 = iVar12 * fits_info.bits_per_pixel" identifier = (binary_expression "iVar12 * fits_info.bits_per_pixel" identifier * (field_expression "fits_info.bits_per_pixel" identifier . field_identifier))) ;) (expression_statement "uVar16 = uVar23;" (assignment_expression "uVar16 = uVar23" identifier = identifier) ;) (expression_statement "uVar26 = 1 >> (~uVar13 & 0x1f);" (assignment_expression "uVar26 = 1 >> (~uVar13 & 0x1f)" identifier = (binary_expression "1 >> (~uVar13 & 0x1f)" number_literal >> (parenthesized_expression "(~uVar13 & 0x1f)" ( (binary_expression "~uVar13 & 0x1f" (unary_expression "~uVar13" ~ identifier) & number_literal) )))) ;) (if_statement "if ((uVar13 & 0x20) != 0) {\n          uVar16 = 0;\n          uVar26 = uVar23;\n        }" if (parenthesized_expression "((uVar13 & 0x20) != 0)" ( (binary_expression "(uVar13 & 0x20) != 0" (parenthesized_expression "(uVar13 & 0x20)" ( (binary_expression "uVar13 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar16 = 0;\n          uVar26 = uVar23;\n        }" { (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "uVar26 = uVar23;" (assignment_expression "uVar26 = uVar23" identifier = identifier) ;) })) (expression_statement "local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;" (assignment_expression "local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0" identifier = (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0" identifier + number_literal)) ;) (expression_statement "local_111c = uVar16 - 1;" (assignment_expression "local_111c = uVar16 - 1" identifier = (binary_expression "uVar16 - 1" identifier - number_literal)) ;) (expression_statement "local_1120 = (uint)(local_111c < uVar16) + (uVar26 - 1);" (assignment_expression "local_1120 = (uint)(local_111c < uVar16) + (uVar26 - 1)" identifier = (binary_expression "(uint)(local_111c < uVar16) + (uVar26 - 1)" (call_expression "(uint)(local_111c < uVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_111c < uVar16)" ( (binary_expression "local_111c < uVar16" identifier < identifier) ))) + (parenthesized_expression "(uVar26 - 1)" ( (binary_expression "uVar26 - 1" identifier - number_literal) )))) ;) (goto_statement "goto LAB_00224900;" goto statement_identifier ;) })) (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(iVar7);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(iVar7)" (parenthesized_expression "(*(code *)PTR_CloseBlob_003a9688)" ( (pointer_expression "*(code *)PTR_CloseBlob_003a9688" * (cast_expression "(code *)PTR_CloseBlob_003a9688" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier ))) ;) (goto_statement "goto LAB_00224e60;" goto statement_identifier ;) })) (expression_statement "uVar24 = 0x1a5;" (assignment_expression "uVar24 = 0x1a5" identifier = number_literal) ;) (expression_statement "puVar20 = PTR_UINT_003a8950 + -0x2c10;" (assignment_expression "puVar20 = PTR_UINT_003a8950 + -0x2c10" identifier = (binary_expression "PTR_UINT_003a8950 + -0x2c10" identifier + number_literal)) ;) (labeled_statement "LAB_00224c3c:\n    lVar35 = CONCAT44(iVar8,puVar9);" statement_identifier : (expression_statement "lVar35 = CONCAT44(iVar8,puVar9);" (assignment_expression "lVar35 = CONCAT44(iVar8,puVar9)" identifier = (call_expression "CONCAT44(iVar8,puVar9)" identifier (argument_list "(iVar8,puVar9)" ( identifier , identifier )))) ;)) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n              (exception,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar24,0x1a9,puVar20,\n               PTR_LAB_003a88e0 + 0x3e28,image_info->filename);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n              (exception,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar24,0x1a9,puVar20,\n               PTR_LAB_003a88e0 + 0x3e28,image_info->filename)" (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,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar24,0x1a9,puVar20,\n               PTR_LAB_003a88e0 + 0x3e28,image_info->filename)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xe40" identifier + number_literal) , (binary_expression "PTR_UINT_003a8950 + -0xc70" identifier + number_literal) , identifier , number_literal , identifier , (binary_expression "PTR_LAB_003a88e0 + 0x3e28" identifier + number_literal) , (field_expression "image_info->filename" identifier -> field_identifier) ))) ;) (if_statement "if (iVar7 != 0) {\n      (*(code *)PTR_CloseBlob_003a9688)(iVar7);\n      (*(code *)PTR_DestroyImageList_003a9510)(iVar7);\n    }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n      (*(code *)PTR_CloseBlob_003a9688)(iVar7);\n      (*(code *)PTR_DestroyImageList_003a9510)(iVar7);\n    }" { (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(iVar7);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(iVar7)" (parenthesized_expression "(*(code *)PTR_CloseBlob_003a9688)" ( (pointer_expression "*(code *)PTR_CloseBlob_003a9688" * (cast_expression "(code *)PTR_CloseBlob_003a9688" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_DestroyImageList_003a9510)(iVar7);" (call_expression "(*(code *)PTR_DestroyImageList_003a9510)(iVar7)" (parenthesized_expression "(*(code *)PTR_DestroyImageList_003a9510)" ( (pointer_expression "*(code *)PTR_DestroyImageList_003a9510" * (cast_expression "(code *)PTR_DestroyImageList_003a9510" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier ))) ;) })) (expression_statement "pIVar15 = (Image *)0x0;" (assignment_expression "pIVar15 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "dVar30 = in_f22_23;" (assignment_expression "dVar30 = in_f22_23" identifier = identifier) ;) }))) (labeled_statement "LAB_00224c7c:\n  uVar2 = (ulonglong)lVar35 >> 0x20;" statement_identifier : (expression_statement "uVar2 = (ulonglong)lVar35 >> 0x20;" (assignment_expression "uVar2 = (ulonglong)lVar35 >> 0x20" identifier = (binary_expression "(ulonglong)lVar35 >> 0x20" (cast_expression "(ulonglong)lVar35" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal)) ;)) (if_statement "if (iVar6 == *(int *)puVar4) {\n    return pIVar15;\n  }" if (parenthesized_expression "(iVar6 == *(int *)puVar4)" ( (binary_expression "iVar6 == *(int *)puVar4" identifier == (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return pIVar15;\n  }" { (return_statement "return pIVar15;" return identifier ;) })) (expression_statement "uVar24 = (*(code *)PTR___stack_chk_fail_003a9064)();" (assignment_expression "uVar24 = (*(code *)PTR___stack_chk_fail_003a9064)()" identifier = (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 "lVar35 = CONCAT44(uVar24,(int)lVar35);" (assignment_expression "lVar35 = CONCAT44(uVar24,(int)lVar35)" identifier = (call_expression "CONCAT44(uVar24,(int)lVar35)" identifier (argument_list "(uVar24,(int)lVar35)" ( identifier , (cast_expression "(int)lVar35" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (expression_statement "uVar24 = (int)uVar2;" (assignment_expression "uVar24 = (int)uVar2" identifier = (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (labeled_statement "LAB_002252f8:\n  uVar2 = (ulonglong)lVar35 >> 0x20;" statement_identifier : (expression_statement "uVar2 = (ulonglong)lVar35 >> 0x20;" (assignment_expression "uVar2 = (ulonglong)lVar35 >> 0x20" identifier = (binary_expression "(ulonglong)lVar35 >> 0x20" (cast_expression "(ulonglong)lVar35" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal)) ;)) (expression_statement "lVar35 = CONCAT44(uVar24,(int)lVar35);" (assignment_expression "lVar35 = CONCAT44(uVar24,(int)lVar35)" identifier = (call_expression "CONCAT44(uVar24,(int)lVar35)" identifier (argument_list "(uVar24,(int)lVar35)" ( identifier , (cast_expression "(int)lVar35" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (expression_statement "in_f22_23 = dVar30;" (assignment_expression "in_f22_23 = dVar30" identifier = identifier) ;) (if_statement "if (((int)uVar2 == 0) && (bVar1 = 1 < local_1160._4_4_, bVar1)) goto LAB_00225060;" if (parenthesized_expression "(((int)uVar2 == 0) && (bVar1 = 1 < local_1160._4_4_, bVar1))" ( (binary_expression "((int)uVar2 == 0) && (bVar1 = 1 < local_1160._4_4_, bVar1)" (parenthesized_expression "((int)uVar2 == 0)" ( (binary_expression "(int)uVar2 == 0" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) && (parenthesized_expression "(bVar1 = 1 < local_1160._4_4_, bVar1)" ( (comma_expression "bVar1 = 1 < local_1160._4_4_, bVar1" (assignment_expression "bVar1 = 1 < local_1160._4_4_" identifier = (binary_expression "1 < local_1160._4_4_" number_literal < (field_expression "local_1160._4_4_" identifier . field_identifier))) , identifier) ))) )) (goto_statement "goto LAB_00225060;" goto statement_identifier ;)) (labeled_statement "LAB_0022511c:\n  (*(code *)PTR_SeekBlob_003a9328)(iVar7);" statement_identifier : (expression_statement "(*(code *)PTR_SeekBlob_003a9328)(iVar7);" (call_expression "(*(code *)PTR_SeekBlob_003a9328)(iVar7)" (parenthesized_expression "(*(code *)PTR_SeekBlob_003a9328)" ( (pointer_expression "*(code *)PTR_SeekBlob_003a9328" * (cast_expression "(code *)PTR_SeekBlob_003a9328" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier ))) ;)) (expression_statement "dVar32 = fits_info.max_data;" (assignment_expression "dVar32 = fits_info.max_data" identifier = (field_expression "fits_info.max_data" identifier . field_identifier)) ;) (labeled_statement "LAB_002249f4:\n  fits_info.max_data = dVar32;" statement_identifier : (expression_statement "fits_info.max_data = dVar32;" (assignment_expression "fits_info.max_data = dVar32" (field_expression "fits_info.max_data" identifier . field_identifier) = identifier) ;)) (expression_statement "dVar30 = dVar30 - in_f22_23;" (assignment_expression "dVar30 = dVar30 - in_f22_23" identifier = (binary_expression "dVar30 - in_f22_23" identifier - identifier)) ;) (do_statement "do {\n    iVar8 = (int)((ulonglong)lVar35 >> 0x20);\n    local_1140 = (uint)((ulonglong)dVar30 >> 0x20);\n    if (0.0 <= dVar30) {\n      dVar32 = *(double *)(local_1134 + 0x1438);\n    }\n    else {\n      local_1140 = local_1140 ^ 0x80000000;\n      dVar32 = local_1118;\n    }\n    if (in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar30,0))) {\n      dVar32 = *(double *)(local_1134 + 0x1438) / dVar30;\n    }\n    else {\n      dVar32 = dVar32 / in_f28_29;\n    }\n    uVar26 = *(int *)(iVar7 + 0x1c) - 1;\n    dVar32 = dVar32 * in_f30_31;\n    if (-1 < (int)uVar26) {\n      local_1160 = CONCAT44((int)uVar26 >> 0x1f,local_1160._4_4_);\n      uVar16 = uVar26;\n      while( true ) {\n        lVar35 = CONCAT44(iVar8,&pixel);\n        iVar12 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar7,0,uVar26,*(undefined4 *)(iVar7 + 0x18),1,exception);\n        if (iVar12 == 0) break;\n        if (0 < *(int *)(iVar7 + 0x18)) {\n          iVar8 = 0;\n          uVar13 = *(uint *)(iVar7 + 0x20);\n          dVar30 = fits_info.zero;\n          dVar33 = fits_info.scale;\n          do {\n            uVar13 = uVar13 >> 3;\n            if (uVar13 == 2) {\n              sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);\n              pixel = (double)(int)sVar18;\nLAB_00224ae8:\n              uVar13 = *(uint *)(iVar7 + 0x20);\n              if (uVar13 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar13 == 0x20) || (uVar13 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar13) {\n                if (uVar13 == 4) {\n                  pcVar29 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n                  pixel = (double)fVar31;\n                }\n                else {\n                  if ((uVar13 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar34 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar7);\n                  pixel = (double)(*(code *)PTR___floatdidf_003a8a60)\n                                            ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar29 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar13 != 1) {\nLAB_00224ad8:\n                pixel = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar14 = (*pcVar29)(iVar7);\n              uVar13 = *(uint *)(iVar7 + 0x20);\n              pixel = (double)iVar14;\n              if (uVar13 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar22 = &pixel;\n              if (*(int *)(iVar7 + 0x25c) != 2) {\n                pdVar22 = (double *)((int)&pixel + ((uVar13 >> 3) - 1));\n              }\n              *(byte *)pdVar22 = *(byte *)pdVar22 ^ 0x80;\n            }\n            iVar8 = iVar8 + 1;\n            iVar14 = *(int *)(iVar7 + 0x18);\n            pfVar21 = (float *)(iVar12 + *(int *)(*(int *)(iVar7 + 0x2d0) + 8) * 4);\n            iVar12 = iVar12 + *(int *)(iVar7 + 0x2c0) * 4;\n            *pfVar21 = (float)(((pixel - in_f22_23) * dVar33 + dVar30) * dVar32);\n          } while (iVar8 < iVar14);\n        }\n        lVar35 = CONCAT44(iVar8,&pixel);\n        iVar12 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar7,exception);\n        if ((iVar12 == 0) ||\n           ((*(int *)(iVar7 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar7,local_112c,local_1160._0_4_,uVar16,0,\n                                     *(undefined4 *)(iVar7 + 0x1c)), lVar35 = CONCAT44(iVar8,&pixel)\n            , local_114c == 0)))) break;\n        uVar26 = uVar26 - 1;\n        iVar8 = local_1160._0_4_ + -1;\n        lVar35 = CONCAT44(iVar8,&pixel);\n        local_1160 = CONCAT44((uint)(uVar16 - 1 < uVar16) + iVar8,local_1160._4_4_);\n        uVar16 = uVar16 - 1;\n        if (uVar26 == 0xffffffff) break;\n      }\n    }\n    iVar8 = (*(code *)PTR_EOFBlob_003a9748)(iVar7);\n    if (iVar8 != 0) {\n      puVar17 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar24 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar17);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar7 + 0x340,uVar24);\n      (*(code *)PTR_DestroyString_003a9074)(uVar24);\nLAB_00224e4c:\n      (*(code *)PTR_CloseBlob_003a9688)(iVar7);\n      if (local_114c == 0) {\nLAB_00224fc0:\n        pIVar15 = (Image *)(*(code *)PTR_DestroyImageList_003a9510)(iVar7);\n        dVar30 = in_f22_23;\n      }\n      else {\nLAB_00224e60:\n        pIVar15 = (Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(iVar7);\n        dVar30 = in_f22_23;\n      }\n      goto LAB_00224c7c;\n    }\n    if ((image_info->number_scenes != 0) &&\n       ((image_info->number_scenes + image_info->scene) - 1 <= *(uint *)(iVar7 + 0x26c)))\n    goto LAB_00224e4c;\n    if ((int)local_1154 < (int)(local_1138 + -1)) {\n      (*(code *)PTR_AcquireNextImage_003a8f90)(image_info,iVar7,exception);\n      iVar8 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar7);\n      if (iVar8 != 0) {\n        iVar7 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar7);\n        uVar34 = (*(code *)PTR_TellBlob_003a931c)(iVar7);\n        uVar36 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar7);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar7,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar34 >> 0x20),(int)uVar34,uVar36);\n        if (local_114c != 0) goto LAB_00224e34;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar7);\n      goto LAB_00224fc0;\n    }\nLAB_00224e34:\n    local_1154 = local_1154 + 1;\n    if (local_1154 == local_1138) goto LAB_00224e4c;\nLAB_00224900:\n    MVar11 = image_info->ping;\n    *(int *)(iVar7 + 0x18) = local_1148;\n    *(int *)(iVar7 + 0x1c) = local_1144;\n    *(int *)(iVar7 + 0x20) = local_1128;\n    *(EndianType *)(iVar7 + 0x25c) = local_1124;\n    *(undefined **)(iVar7 + 0x26c) = local_1154;\n    if (((MVar11 != MagickFalse) && (image_info->number_scenes != 0)) &&\n       ((undefined *)(image_info->number_scenes + image_info->scene + -1) <= local_1154))\n    goto LAB_00224e4c;\n    local_114c = (*(code *)PTR_SetImageExtent_003a94ac)(iVar7,local_1148,local_1144,exception);\n    if (local_114c == 0) goto LAB_00224fc0;\n    (*(code *)PTR_SetImageColorspace_003a8d40)(iVar7,3,exception);\n    in_f22_23 = fits_info.min_data;\n    if ((fits_info.min_data != 0.0) || (fits_info.max_data != 0.0)) {\n      if (local_1158 != (undefined *)0x0) goto LAB_002249dc;\n      dVar30 = 0.0;\n      dVar32 = dVar30;\n      goto LAB_002249f4;\n    }\n    if (((uint)local_1158 & 0xffffffdf) != 0xffffffc0) break;\n    dVar30 = fits_info.max_data;\n    lVar37 = (*(code *)PTR_TellBlob_003a931c)(iVar7);\n    if (lVar37 != -1) {\n      lVar35 = (ulonglong)*(uint *)(iVar7 + 0x18) * (ulonglong)*(uint *)(iVar7 + 0x1c);\n      uVar26 = *(uint *)(iVar7 + 0x20) >> 3;\n      if (uVar26 == 2) {\n        sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);\n        dVar30 = (double)(int)sVar18;\n      }\n      else if (uVar26 == 4) {\n        fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n        dVar30 = (double)fVar31;\n      }\n      else if (uVar26 == 1) {\n        iVar8 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n        dVar30 = (double)iVar8;\n      }\n      else {\n        dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n      }\n      local_1160._0_4_ = (int)((ulonglong)lVar35 >> 0x20);\n      uVar24 = local_1160._0_4_;\n      local_1160 = lVar35;\n      fits_info.min_data = dVar30;\n      fits_info.max_data = dVar30;\n      if (0xffffffff < lVar35) goto LAB_00225060;\n      goto LAB_002252f8;\n    }\n    dVar30 = dVar30 - in_f22_23;\n  } while( true );" do (compound_statement "{\n    iVar8 = (int)((ulonglong)lVar35 >> 0x20);\n    local_1140 = (uint)((ulonglong)dVar30 >> 0x20);\n    if (0.0 <= dVar30) {\n      dVar32 = *(double *)(local_1134 + 0x1438);\n    }\n    else {\n      local_1140 = local_1140 ^ 0x80000000;\n      dVar32 = local_1118;\n    }\n    if (in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar30,0))) {\n      dVar32 = *(double *)(local_1134 + 0x1438) / dVar30;\n    }\n    else {\n      dVar32 = dVar32 / in_f28_29;\n    }\n    uVar26 = *(int *)(iVar7 + 0x1c) - 1;\n    dVar32 = dVar32 * in_f30_31;\n    if (-1 < (int)uVar26) {\n      local_1160 = CONCAT44((int)uVar26 >> 0x1f,local_1160._4_4_);\n      uVar16 = uVar26;\n      while( true ) {\n        lVar35 = CONCAT44(iVar8,&pixel);\n        iVar12 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar7,0,uVar26,*(undefined4 *)(iVar7 + 0x18),1,exception);\n        if (iVar12 == 0) break;\n        if (0 < *(int *)(iVar7 + 0x18)) {\n          iVar8 = 0;\n          uVar13 = *(uint *)(iVar7 + 0x20);\n          dVar30 = fits_info.zero;\n          dVar33 = fits_info.scale;\n          do {\n            uVar13 = uVar13 >> 3;\n            if (uVar13 == 2) {\n              sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);\n              pixel = (double)(int)sVar18;\nLAB_00224ae8:\n              uVar13 = *(uint *)(iVar7 + 0x20);\n              if (uVar13 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar13 == 0x20) || (uVar13 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar13) {\n                if (uVar13 == 4) {\n                  pcVar29 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n                  pixel = (double)fVar31;\n                }\n                else {\n                  if ((uVar13 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar34 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar7);\n                  pixel = (double)(*(code *)PTR___floatdidf_003a8a60)\n                                            ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar29 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar13 != 1) {\nLAB_00224ad8:\n                pixel = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar14 = (*pcVar29)(iVar7);\n              uVar13 = *(uint *)(iVar7 + 0x20);\n              pixel = (double)iVar14;\n              if (uVar13 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar22 = &pixel;\n              if (*(int *)(iVar7 + 0x25c) != 2) {\n                pdVar22 = (double *)((int)&pixel + ((uVar13 >> 3) - 1));\n              }\n              *(byte *)pdVar22 = *(byte *)pdVar22 ^ 0x80;\n            }\n            iVar8 = iVar8 + 1;\n            iVar14 = *(int *)(iVar7 + 0x18);\n            pfVar21 = (float *)(iVar12 + *(int *)(*(int *)(iVar7 + 0x2d0) + 8) * 4);\n            iVar12 = iVar12 + *(int *)(iVar7 + 0x2c0) * 4;\n            *pfVar21 = (float)(((pixel - in_f22_23) * dVar33 + dVar30) * dVar32);\n          } while (iVar8 < iVar14);\n        }\n        lVar35 = CONCAT44(iVar8,&pixel);\n        iVar12 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar7,exception);\n        if ((iVar12 == 0) ||\n           ((*(int *)(iVar7 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar7,local_112c,local_1160._0_4_,uVar16,0,\n                                     *(undefined4 *)(iVar7 + 0x1c)), lVar35 = CONCAT44(iVar8,&pixel)\n            , local_114c == 0)))) break;\n        uVar26 = uVar26 - 1;\n        iVar8 = local_1160._0_4_ + -1;\n        lVar35 = CONCAT44(iVar8,&pixel);\n        local_1160 = CONCAT44((uint)(uVar16 - 1 < uVar16) + iVar8,local_1160._4_4_);\n        uVar16 = uVar16 - 1;\n        if (uVar26 == 0xffffffff) break;\n      }\n    }\n    iVar8 = (*(code *)PTR_EOFBlob_003a9748)(iVar7);\n    if (iVar8 != 0) {\n      puVar17 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar24 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar17);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar7 + 0x340,uVar24);\n      (*(code *)PTR_DestroyString_003a9074)(uVar24);\nLAB_00224e4c:\n      (*(code *)PTR_CloseBlob_003a9688)(iVar7);\n      if (local_114c == 0) {\nLAB_00224fc0:\n        pIVar15 = (Image *)(*(code *)PTR_DestroyImageList_003a9510)(iVar7);\n        dVar30 = in_f22_23;\n      }\n      else {\nLAB_00224e60:\n        pIVar15 = (Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(iVar7);\n        dVar30 = in_f22_23;\n      }\n      goto LAB_00224c7c;\n    }\n    if ((image_info->number_scenes != 0) &&\n       ((image_info->number_scenes + image_info->scene) - 1 <= *(uint *)(iVar7 + 0x26c)))\n    goto LAB_00224e4c;\n    if ((int)local_1154 < (int)(local_1138 + -1)) {\n      (*(code *)PTR_AcquireNextImage_003a8f90)(image_info,iVar7,exception);\n      iVar8 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar7);\n      if (iVar8 != 0) {\n        iVar7 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar7);\n        uVar34 = (*(code *)PTR_TellBlob_003a931c)(iVar7);\n        uVar36 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar7);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar7,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar34 >> 0x20),(int)uVar34,uVar36);\n        if (local_114c != 0) goto LAB_00224e34;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar7);\n      goto LAB_00224fc0;\n    }\nLAB_00224e34:\n    local_1154 = local_1154 + 1;\n    if (local_1154 == local_1138) goto LAB_00224e4c;\nLAB_00224900:\n    MVar11 = image_info->ping;\n    *(int *)(iVar7 + 0x18) = local_1148;\n    *(int *)(iVar7 + 0x1c) = local_1144;\n    *(int *)(iVar7 + 0x20) = local_1128;\n    *(EndianType *)(iVar7 + 0x25c) = local_1124;\n    *(undefined **)(iVar7 + 0x26c) = local_1154;\n    if (((MVar11 != MagickFalse) && (image_info->number_scenes != 0)) &&\n       ((undefined *)(image_info->number_scenes + image_info->scene + -1) <= local_1154))\n    goto LAB_00224e4c;\n    local_114c = (*(code *)PTR_SetImageExtent_003a94ac)(iVar7,local_1148,local_1144,exception);\n    if (local_114c == 0) goto LAB_00224fc0;\n    (*(code *)PTR_SetImageColorspace_003a8d40)(iVar7,3,exception);\n    in_f22_23 = fits_info.min_data;\n    if ((fits_info.min_data != 0.0) || (fits_info.max_data != 0.0)) {\n      if (local_1158 != (undefined *)0x0) goto LAB_002249dc;\n      dVar30 = 0.0;\n      dVar32 = dVar30;\n      goto LAB_002249f4;\n    }\n    if (((uint)local_1158 & 0xffffffdf) != 0xffffffc0) break;\n    dVar30 = fits_info.max_data;\n    lVar37 = (*(code *)PTR_TellBlob_003a931c)(iVar7);\n    if (lVar37 != -1) {\n      lVar35 = (ulonglong)*(uint *)(iVar7 + 0x18) * (ulonglong)*(uint *)(iVar7 + 0x1c);\n      uVar26 = *(uint *)(iVar7 + 0x20) >> 3;\n      if (uVar26 == 2) {\n        sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);\n        dVar30 = (double)(int)sVar18;\n      }\n      else if (uVar26 == 4) {\n        fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n        dVar30 = (double)fVar31;\n      }\n      else if (uVar26 == 1) {\n        iVar8 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n        dVar30 = (double)iVar8;\n      }\n      else {\n        dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n      }\n      local_1160._0_4_ = (int)((ulonglong)lVar35 >> 0x20);\n      uVar24 = local_1160._0_4_;\n      local_1160 = lVar35;\n      fits_info.min_data = dVar30;\n      fits_info.max_data = dVar30;\n      if (0xffffffff < lVar35) goto LAB_00225060;\n      goto LAB_002252f8;\n    }\n    dVar30 = dVar30 - in_f22_23;\n  }" { (expression_statement "iVar8 = (int)((ulonglong)lVar35 >> 0x20);" (assignment_expression "iVar8 = (int)((ulonglong)lVar35 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)lVar35 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar35 >> 0x20)" ( (binary_expression "(ulonglong)lVar35 >> 0x20" (cast_expression "(ulonglong)lVar35" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_1140 = (uint)((ulonglong)dVar30 >> 0x20);" (assignment_expression "local_1140 = (uint)((ulonglong)dVar30 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)dVar30 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)dVar30 >> 0x20)" ( (binary_expression "(ulonglong)dVar30 >> 0x20" (cast_expression "(ulonglong)dVar30" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (0.0 <= dVar30) {\n      dVar32 = *(double *)(local_1134 + 0x1438);\n    }\n    else {\n      local_1140 = local_1140 ^ 0x80000000;\n      dVar32 = local_1118;\n    }" if (parenthesized_expression "(0.0 <= dVar30)" ( (binary_expression "0.0 <= dVar30" number_literal <= identifier) )) (compound_statement "{\n      dVar32 = *(double *)(local_1134 + 0x1438);\n    }" { (expression_statement "dVar32 = *(double *)(local_1134 + 0x1438);" (assignment_expression "dVar32 = *(double *)(local_1134 + 0x1438)" identifier = (pointer_expression "*(double *)(local_1134 + 0x1438)" * (cast_expression "(double *)(local_1134 + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_1134 + 0x1438)" ( (binary_expression "local_1134 + 0x1438" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      local_1140 = local_1140 ^ 0x80000000;\n      dVar32 = local_1118;\n    }" else (compound_statement "{\n      local_1140 = local_1140 ^ 0x80000000;\n      dVar32 = local_1118;\n    }" { (expression_statement "local_1140 = local_1140 ^ 0x80000000;" (assignment_expression "local_1140 = local_1140 ^ 0x80000000" identifier = (binary_expression "local_1140 ^ 0x80000000" identifier ^ number_literal)) ;) (expression_statement "dVar32 = local_1118;" (assignment_expression "dVar32 = local_1118" identifier = identifier) ;) }))) (if_statement "if (in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar30,0))) {\n      dVar32 = *(double *)(local_1134 + 0x1438) / dVar30;\n    }\n    else {\n      dVar32 = dVar32 / in_f28_29;\n    }" if (parenthesized_expression "(in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar30,0)))" ( (binary_expression "in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar30,0))" identifier <= (cast_expression "(double)CONCAT44(local_1140,SUB84(dVar30,0))" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(local_1140,SUB84(dVar30,0))" identifier (argument_list "(local_1140,SUB84(dVar30,0))" ( identifier , (call_expression "SUB84(dVar30,0)" identifier (argument_list "(dVar30,0)" ( identifier , number_literal ))) ))))) )) (compound_statement "{\n      dVar32 = *(double *)(local_1134 + 0x1438) / dVar30;\n    }" { (expression_statement "dVar32 = *(double *)(local_1134 + 0x1438) / dVar30;" (assignment_expression "dVar32 = *(double *)(local_1134 + 0x1438) / dVar30" identifier = (binary_expression "*(double *)(local_1134 + 0x1438) / dVar30" (pointer_expression "*(double *)(local_1134 + 0x1438)" * (cast_expression "(double *)(local_1134 + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_1134 + 0x1438)" ( (binary_expression "local_1134 + 0x1438" identifier + number_literal) )))) / identifier)) ;) }) (else_clause "else {\n      dVar32 = dVar32 / in_f28_29;\n    }" else (compound_statement "{\n      dVar32 = dVar32 / in_f28_29;\n    }" { (expression_statement "dVar32 = dVar32 / in_f28_29;" (assignment_expression "dVar32 = dVar32 / in_f28_29" identifier = (binary_expression "dVar32 / in_f28_29" identifier / identifier)) ;) }))) (expression_statement "uVar26 = *(int *)(iVar7 + 0x1c) - 1;" (assignment_expression "uVar26 = *(int *)(iVar7 + 0x1c) - 1" identifier = (binary_expression "*(int *)(iVar7 + 0x1c) - 1" (pointer_expression "*(int *)(iVar7 + 0x1c)" * (cast_expression "(int *)(iVar7 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) )))) - number_literal)) ;) (expression_statement "dVar32 = dVar32 * in_f30_31;" (assignment_expression "dVar32 = dVar32 * in_f30_31" identifier = (binary_expression "dVar32 * in_f30_31" identifier * identifier)) ;) (if_statement "if (-1 < (int)uVar26) {\n      local_1160 = CONCAT44((int)uVar26 >> 0x1f,local_1160._4_4_);\n      uVar16 = uVar26;\n      while( true ) {\n        lVar35 = CONCAT44(iVar8,&pixel);\n        iVar12 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar7,0,uVar26,*(undefined4 *)(iVar7 + 0x18),1,exception);\n        if (iVar12 == 0) break;\n        if (0 < *(int *)(iVar7 + 0x18)) {\n          iVar8 = 0;\n          uVar13 = *(uint *)(iVar7 + 0x20);\n          dVar30 = fits_info.zero;\n          dVar33 = fits_info.scale;\n          do {\n            uVar13 = uVar13 >> 3;\n            if (uVar13 == 2) {\n              sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);\n              pixel = (double)(int)sVar18;\nLAB_00224ae8:\n              uVar13 = *(uint *)(iVar7 + 0x20);\n              if (uVar13 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar13 == 0x20) || (uVar13 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar13) {\n                if (uVar13 == 4) {\n                  pcVar29 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n                  pixel = (double)fVar31;\n                }\n                else {\n                  if ((uVar13 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar34 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar7);\n                  pixel = (double)(*(code *)PTR___floatdidf_003a8a60)\n                                            ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar29 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar13 != 1) {\nLAB_00224ad8:\n                pixel = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar14 = (*pcVar29)(iVar7);\n              uVar13 = *(uint *)(iVar7 + 0x20);\n              pixel = (double)iVar14;\n              if (uVar13 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar22 = &pixel;\n              if (*(int *)(iVar7 + 0x25c) != 2) {\n                pdVar22 = (double *)((int)&pixel + ((uVar13 >> 3) - 1));\n              }\n              *(byte *)pdVar22 = *(byte *)pdVar22 ^ 0x80;\n            }\n            iVar8 = iVar8 + 1;\n            iVar14 = *(int *)(iVar7 + 0x18);\n            pfVar21 = (float *)(iVar12 + *(int *)(*(int *)(iVar7 + 0x2d0) + 8) * 4);\n            iVar12 = iVar12 + *(int *)(iVar7 + 0x2c0) * 4;\n            *pfVar21 = (float)(((pixel - in_f22_23) * dVar33 + dVar30) * dVar32);\n          } while (iVar8 < iVar14);\n        }\n        lVar35 = CONCAT44(iVar8,&pixel);\n        iVar12 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar7,exception);\n        if ((iVar12 == 0) ||\n           ((*(int *)(iVar7 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar7,local_112c,local_1160._0_4_,uVar16,0,\n                                     *(undefined4 *)(iVar7 + 0x1c)), lVar35 = CONCAT44(iVar8,&pixel)\n            , local_114c == 0)))) break;\n        uVar26 = uVar26 - 1;\n        iVar8 = local_1160._0_4_ + -1;\n        lVar35 = CONCAT44(iVar8,&pixel);\n        local_1160 = CONCAT44((uint)(uVar16 - 1 < uVar16) + iVar8,local_1160._4_4_);\n        uVar16 = uVar16 - 1;\n        if (uVar26 == 0xffffffff) break;\n      }\n    }" if (parenthesized_expression "(-1 < (int)uVar26)" ( (binary_expression "-1 < (int)uVar26" number_literal < (cast_expression "(int)uVar26" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      local_1160 = CONCAT44((int)uVar26 >> 0x1f,local_1160._4_4_);\n      uVar16 = uVar26;\n      while( true ) {\n        lVar35 = CONCAT44(iVar8,&pixel);\n        iVar12 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar7,0,uVar26,*(undefined4 *)(iVar7 + 0x18),1,exception);\n        if (iVar12 == 0) break;\n        if (0 < *(int *)(iVar7 + 0x18)) {\n          iVar8 = 0;\n          uVar13 = *(uint *)(iVar7 + 0x20);\n          dVar30 = fits_info.zero;\n          dVar33 = fits_info.scale;\n          do {\n            uVar13 = uVar13 >> 3;\n            if (uVar13 == 2) {\n              sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);\n              pixel = (double)(int)sVar18;\nLAB_00224ae8:\n              uVar13 = *(uint *)(iVar7 + 0x20);\n              if (uVar13 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar13 == 0x20) || (uVar13 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar13) {\n                if (uVar13 == 4) {\n                  pcVar29 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n                  pixel = (double)fVar31;\n                }\n                else {\n                  if ((uVar13 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar34 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar7);\n                  pixel = (double)(*(code *)PTR___floatdidf_003a8a60)\n                                            ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar29 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar13 != 1) {\nLAB_00224ad8:\n                pixel = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar14 = (*pcVar29)(iVar7);\n              uVar13 = *(uint *)(iVar7 + 0x20);\n              pixel = (double)iVar14;\n              if (uVar13 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar22 = &pixel;\n              if (*(int *)(iVar7 + 0x25c) != 2) {\n                pdVar22 = (double *)((int)&pixel + ((uVar13 >> 3) - 1));\n              }\n              *(byte *)pdVar22 = *(byte *)pdVar22 ^ 0x80;\n            }\n            iVar8 = iVar8 + 1;\n            iVar14 = *(int *)(iVar7 + 0x18);\n            pfVar21 = (float *)(iVar12 + *(int *)(*(int *)(iVar7 + 0x2d0) + 8) * 4);\n            iVar12 = iVar12 + *(int *)(iVar7 + 0x2c0) * 4;\n            *pfVar21 = (float)(((pixel - in_f22_23) * dVar33 + dVar30) * dVar32);\n          } while (iVar8 < iVar14);\n        }\n        lVar35 = CONCAT44(iVar8,&pixel);\n        iVar12 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar7,exception);\n        if ((iVar12 == 0) ||\n           ((*(int *)(iVar7 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar7,local_112c,local_1160._0_4_,uVar16,0,\n                                     *(undefined4 *)(iVar7 + 0x1c)), lVar35 = CONCAT44(iVar8,&pixel)\n            , local_114c == 0)))) break;\n        uVar26 = uVar26 - 1;\n        iVar8 = local_1160._0_4_ + -1;\n        lVar35 = CONCAT44(iVar8,&pixel);\n        local_1160 = CONCAT44((uint)(uVar16 - 1 < uVar16) + iVar8,local_1160._4_4_);\n        uVar16 = uVar16 - 1;\n        if (uVar26 == 0xffffffff) break;\n      }\n    }" { (expression_statement "local_1160 = CONCAT44((int)uVar26 >> 0x1f,local_1160._4_4_);" (assignment_expression "local_1160 = CONCAT44((int)uVar26 >> 0x1f,local_1160._4_4_)" identifier = (call_expression "CONCAT44((int)uVar26 >> 0x1f,local_1160._4_4_)" identifier (argument_list "((int)uVar26 >> 0x1f,local_1160._4_4_)" ( (binary_expression "(int)uVar26 >> 0x1f" (cast_expression "(int)uVar26" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) , (field_expression "local_1160._4_4_" identifier . field_identifier) )))) ;) (expression_statement "uVar16 = uVar26;" (assignment_expression "uVar16 = uVar26" identifier = identifier) ;) (while_statement "while( true ) {\n        lVar35 = CONCAT44(iVar8,&pixel);\n        iVar12 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar7,0,uVar26,*(undefined4 *)(iVar7 + 0x18),1,exception);\n        if (iVar12 == 0) break;\n        if (0 < *(int *)(iVar7 + 0x18)) {\n          iVar8 = 0;\n          uVar13 = *(uint *)(iVar7 + 0x20);\n          dVar30 = fits_info.zero;\n          dVar33 = fits_info.scale;\n          do {\n            uVar13 = uVar13 >> 3;\n            if (uVar13 == 2) {\n              sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);\n              pixel = (double)(int)sVar18;\nLAB_00224ae8:\n              uVar13 = *(uint *)(iVar7 + 0x20);\n              if (uVar13 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar13 == 0x20) || (uVar13 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar13) {\n                if (uVar13 == 4) {\n                  pcVar29 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n                  pixel = (double)fVar31;\n                }\n                else {\n                  if ((uVar13 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar34 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar7);\n                  pixel = (double)(*(code *)PTR___floatdidf_003a8a60)\n                                            ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar29 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar13 != 1) {\nLAB_00224ad8:\n                pixel = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar14 = (*pcVar29)(iVar7);\n              uVar13 = *(uint *)(iVar7 + 0x20);\n              pixel = (double)iVar14;\n              if (uVar13 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar22 = &pixel;\n              if (*(int *)(iVar7 + 0x25c) != 2) {\n                pdVar22 = (double *)((int)&pixel + ((uVar13 >> 3) - 1));\n              }\n              *(byte *)pdVar22 = *(byte *)pdVar22 ^ 0x80;\n            }\n            iVar8 = iVar8 + 1;\n            iVar14 = *(int *)(iVar7 + 0x18);\n            pfVar21 = (float *)(iVar12 + *(int *)(*(int *)(iVar7 + 0x2d0) + 8) * 4);\n            iVar12 = iVar12 + *(int *)(iVar7 + 0x2c0) * 4;\n            *pfVar21 = (float)(((pixel - in_f22_23) * dVar33 + dVar30) * dVar32);\n          } while (iVar8 < iVar14);\n        }\n        lVar35 = CONCAT44(iVar8,&pixel);\n        iVar12 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar7,exception);\n        if ((iVar12 == 0) ||\n           ((*(int *)(iVar7 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar7,local_112c,local_1160._0_4_,uVar16,0,\n                                     *(undefined4 *)(iVar7 + 0x1c)), lVar35 = CONCAT44(iVar8,&pixel)\n            , local_114c == 0)))) break;\n        uVar26 = uVar26 - 1;\n        iVar8 = local_1160._0_4_ + -1;\n        lVar35 = CONCAT44(iVar8,&pixel);\n        local_1160 = CONCAT44((uint)(uVar16 - 1 < uVar16) + iVar8,local_1160._4_4_);\n        uVar16 = uVar16 - 1;\n        if (uVar26 == 0xffffffff) break;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        lVar35 = CONCAT44(iVar8,&pixel);\n        iVar12 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar7,0,uVar26,*(undefined4 *)(iVar7 + 0x18),1,exception);\n        if (iVar12 == 0) break;\n        if (0 < *(int *)(iVar7 + 0x18)) {\n          iVar8 = 0;\n          uVar13 = *(uint *)(iVar7 + 0x20);\n          dVar30 = fits_info.zero;\n          dVar33 = fits_info.scale;\n          do {\n            uVar13 = uVar13 >> 3;\n            if (uVar13 == 2) {\n              sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);\n              pixel = (double)(int)sVar18;\nLAB_00224ae8:\n              uVar13 = *(uint *)(iVar7 + 0x20);\n              if (uVar13 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar13 == 0x20) || (uVar13 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar13) {\n                if (uVar13 == 4) {\n                  pcVar29 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n                  pixel = (double)fVar31;\n                }\n                else {\n                  if ((uVar13 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar34 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar7);\n                  pixel = (double)(*(code *)PTR___floatdidf_003a8a60)\n                                            ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar29 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar13 != 1) {\nLAB_00224ad8:\n                pixel = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar14 = (*pcVar29)(iVar7);\n              uVar13 = *(uint *)(iVar7 + 0x20);\n              pixel = (double)iVar14;\n              if (uVar13 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar22 = &pixel;\n              if (*(int *)(iVar7 + 0x25c) != 2) {\n                pdVar22 = (double *)((int)&pixel + ((uVar13 >> 3) - 1));\n              }\n              *(byte *)pdVar22 = *(byte *)pdVar22 ^ 0x80;\n            }\n            iVar8 = iVar8 + 1;\n            iVar14 = *(int *)(iVar7 + 0x18);\n            pfVar21 = (float *)(iVar12 + *(int *)(*(int *)(iVar7 + 0x2d0) + 8) * 4);\n            iVar12 = iVar12 + *(int *)(iVar7 + 0x2c0) * 4;\n            *pfVar21 = (float)(((pixel - in_f22_23) * dVar33 + dVar30) * dVar32);\n          } while (iVar8 < iVar14);\n        }\n        lVar35 = CONCAT44(iVar8,&pixel);\n        iVar12 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar7,exception);\n        if ((iVar12 == 0) ||\n           ((*(int *)(iVar7 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar7,local_112c,local_1160._0_4_,uVar16,0,\n                                     *(undefined4 *)(iVar7 + 0x1c)), lVar35 = CONCAT44(iVar8,&pixel)\n            , local_114c == 0)))) break;\n        uVar26 = uVar26 - 1;\n        iVar8 = local_1160._0_4_ + -1;\n        lVar35 = CONCAT44(iVar8,&pixel);\n        local_1160 = CONCAT44((uint)(uVar16 - 1 < uVar16) + iVar8,local_1160._4_4_);\n        uVar16 = uVar16 - 1;\n        if (uVar26 == 0xffffffff) break;\n      }" { (expression_statement "lVar35 = CONCAT44(iVar8,&pixel);" (assignment_expression "lVar35 = CONCAT44(iVar8,&pixel)" identifier = (call_expression "CONCAT44(iVar8,&pixel)" identifier (argument_list "(iVar8,&pixel)" ( identifier , (pointer_expression "&pixel" & identifier) )))) ;) (expression_statement "iVar12 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar7,0,uVar26,*(undefined4 *)(iVar7 + 0x18),1,exception);" (assignment_expression "iVar12 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar7,0,uVar26,*(undefined4 *)(iVar7 + 0x18),1,exception)" identifier = (call_expression "(*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar7,0,uVar26,*(undefined4 *)(iVar7 + 0x18),1,exception)" (parenthesized_expression "(*(code *)PTR_QueueAuthenticPixels_003a8f24)" ( (pointer_expression "*(code *)PTR_QueueAuthenticPixels_003a8f24" * (cast_expression "(code *)PTR_QueueAuthenticPixels_003a8f24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,0,uVar26,*(undefined4 *)(iVar7 + 0x18),1,exception)" ( identifier , number_literal , identifier , (pointer_expression "*(undefined4 *)(iVar7 + 0x18)" * (cast_expression "(undefined4 *)(iVar7 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) )))) , number_literal , identifier )))) ;) (if_statement "if (iVar12 == 0) break;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (0 < *(int *)(iVar7 + 0x18)) {\n          iVar8 = 0;\n          uVar13 = *(uint *)(iVar7 + 0x20);\n          dVar30 = fits_info.zero;\n          dVar33 = fits_info.scale;\n          do {\n            uVar13 = uVar13 >> 3;\n            if (uVar13 == 2) {\n              sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);\n              pixel = (double)(int)sVar18;\nLAB_00224ae8:\n              uVar13 = *(uint *)(iVar7 + 0x20);\n              if (uVar13 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar13 == 0x20) || (uVar13 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar13) {\n                if (uVar13 == 4) {\n                  pcVar29 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n                  pixel = (double)fVar31;\n                }\n                else {\n                  if ((uVar13 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar34 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar7);\n                  pixel = (double)(*(code *)PTR___floatdidf_003a8a60)\n                                            ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar29 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar13 != 1) {\nLAB_00224ad8:\n                pixel = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar14 = (*pcVar29)(iVar7);\n              uVar13 = *(uint *)(iVar7 + 0x20);\n              pixel = (double)iVar14;\n              if (uVar13 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar22 = &pixel;\n              if (*(int *)(iVar7 + 0x25c) != 2) {\n                pdVar22 = (double *)((int)&pixel + ((uVar13 >> 3) - 1));\n              }\n              *(byte *)pdVar22 = *(byte *)pdVar22 ^ 0x80;\n            }\n            iVar8 = iVar8 + 1;\n            iVar14 = *(int *)(iVar7 + 0x18);\n            pfVar21 = (float *)(iVar12 + *(int *)(*(int *)(iVar7 + 0x2d0) + 8) * 4);\n            iVar12 = iVar12 + *(int *)(iVar7 + 0x2c0) * 4;\n            *pfVar21 = (float)(((pixel - in_f22_23) * dVar33 + dVar30) * dVar32);\n          } while (iVar8 < iVar14);\n        }" if (parenthesized_expression "(0 < *(int *)(iVar7 + 0x18))" ( (binary_expression "0 < *(int *)(iVar7 + 0x18)" number_literal < (pointer_expression "*(int *)(iVar7 + 0x18)" * (cast_expression "(int *)(iVar7 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n          iVar8 = 0;\n          uVar13 = *(uint *)(iVar7 + 0x20);\n          dVar30 = fits_info.zero;\n          dVar33 = fits_info.scale;\n          do {\n            uVar13 = uVar13 >> 3;\n            if (uVar13 == 2) {\n              sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);\n              pixel = (double)(int)sVar18;\nLAB_00224ae8:\n              uVar13 = *(uint *)(iVar7 + 0x20);\n              if (uVar13 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar13 == 0x20) || (uVar13 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar13) {\n                if (uVar13 == 4) {\n                  pcVar29 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n                  pixel = (double)fVar31;\n                }\n                else {\n                  if ((uVar13 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar34 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar7);\n                  pixel = (double)(*(code *)PTR___floatdidf_003a8a60)\n                                            ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar29 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar13 != 1) {\nLAB_00224ad8:\n                pixel = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar14 = (*pcVar29)(iVar7);\n              uVar13 = *(uint *)(iVar7 + 0x20);\n              pixel = (double)iVar14;\n              if (uVar13 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar22 = &pixel;\n              if (*(int *)(iVar7 + 0x25c) != 2) {\n                pdVar22 = (double *)((int)&pixel + ((uVar13 >> 3) - 1));\n              }\n              *(byte *)pdVar22 = *(byte *)pdVar22 ^ 0x80;\n            }\n            iVar8 = iVar8 + 1;\n            iVar14 = *(int *)(iVar7 + 0x18);\n            pfVar21 = (float *)(iVar12 + *(int *)(*(int *)(iVar7 + 0x2d0) + 8) * 4);\n            iVar12 = iVar12 + *(int *)(iVar7 + 0x2c0) * 4;\n            *pfVar21 = (float)(((pixel - in_f22_23) * dVar33 + dVar30) * dVar32);\n          } while (iVar8 < iVar14);\n        }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "uVar13 = *(uint *)(iVar7 + 0x20);" (assignment_expression "uVar13 = *(uint *)(iVar7 + 0x20)" identifier = (pointer_expression "*(uint *)(iVar7 + 0x20)" * (cast_expression "(uint *)(iVar7 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20)" ( (binary_expression "iVar7 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "dVar30 = fits_info.zero;" (assignment_expression "dVar30 = fits_info.zero" identifier = (field_expression "fits_info.zero" identifier . field_identifier)) ;) (expression_statement "dVar33 = fits_info.scale;" (assignment_expression "dVar33 = fits_info.scale" identifier = (field_expression "fits_info.scale" identifier . field_identifier)) ;) (do_statement "do {\n            uVar13 = uVar13 >> 3;\n            if (uVar13 == 2) {\n              sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);\n              pixel = (double)(int)sVar18;\nLAB_00224ae8:\n              uVar13 = *(uint *)(iVar7 + 0x20);\n              if (uVar13 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar13 == 0x20) || (uVar13 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar13) {\n                if (uVar13 == 4) {\n                  pcVar29 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n                  pixel = (double)fVar31;\n                }\n                else {\n                  if ((uVar13 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar34 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar7);\n                  pixel = (double)(*(code *)PTR___floatdidf_003a8a60)\n                                            ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar29 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar13 != 1) {\nLAB_00224ad8:\n                pixel = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar14 = (*pcVar29)(iVar7);\n              uVar13 = *(uint *)(iVar7 + 0x20);\n              pixel = (double)iVar14;\n              if (uVar13 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar22 = &pixel;\n              if (*(int *)(iVar7 + 0x25c) != 2) {\n                pdVar22 = (double *)((int)&pixel + ((uVar13 >> 3) - 1));\n              }\n              *(byte *)pdVar22 = *(byte *)pdVar22 ^ 0x80;\n            }\n            iVar8 = iVar8 + 1;\n            iVar14 = *(int *)(iVar7 + 0x18);\n            pfVar21 = (float *)(iVar12 + *(int *)(*(int *)(iVar7 + 0x2d0) + 8) * 4);\n            iVar12 = iVar12 + *(int *)(iVar7 + 0x2c0) * 4;\n            *pfVar21 = (float)(((pixel - in_f22_23) * dVar33 + dVar30) * dVar32);\n          } while (iVar8 < iVar14);" do (compound_statement "{\n            uVar13 = uVar13 >> 3;\n            if (uVar13 == 2) {\n              sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);\n              pixel = (double)(int)sVar18;\nLAB_00224ae8:\n              uVar13 = *(uint *)(iVar7 + 0x20);\n              if (uVar13 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar13 == 0x20) || (uVar13 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar13) {\n                if (uVar13 == 4) {\n                  pcVar29 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n                  pixel = (double)fVar31;\n                }\n                else {\n                  if ((uVar13 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar34 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar7);\n                  pixel = (double)(*(code *)PTR___floatdidf_003a8a60)\n                                            ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar29 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar13 != 1) {\nLAB_00224ad8:\n                pixel = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar14 = (*pcVar29)(iVar7);\n              uVar13 = *(uint *)(iVar7 + 0x20);\n              pixel = (double)iVar14;\n              if (uVar13 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar22 = &pixel;\n              if (*(int *)(iVar7 + 0x25c) != 2) {\n                pdVar22 = (double *)((int)&pixel + ((uVar13 >> 3) - 1));\n              }\n              *(byte *)pdVar22 = *(byte *)pdVar22 ^ 0x80;\n            }\n            iVar8 = iVar8 + 1;\n            iVar14 = *(int *)(iVar7 + 0x18);\n            pfVar21 = (float *)(iVar12 + *(int *)(*(int *)(iVar7 + 0x2d0) + 8) * 4);\n            iVar12 = iVar12 + *(int *)(iVar7 + 0x2c0) * 4;\n            *pfVar21 = (float)(((pixel - in_f22_23) * dVar33 + dVar30) * dVar32);\n          }" { (expression_statement "uVar13 = uVar13 >> 3;" (assignment_expression "uVar13 = uVar13 >> 3" identifier = (binary_expression "uVar13 >> 3" identifier >> number_literal)) ;) (if_statement "if (uVar13 == 2) {\n              sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);\n              pixel = (double)(int)sVar18;\nLAB_00224ae8:\n              uVar13 = *(uint *)(iVar7 + 0x20);\n              if (uVar13 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar13 == 0x20) || (uVar13 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar13) {\n                if (uVar13 == 4) {\n                  pcVar29 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n                  pixel = (double)fVar31;\n                }\n                else {\n                  if ((uVar13 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar34 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar7);\n                  pixel = (double)(*(code *)PTR___floatdidf_003a8a60)\n                                            ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar29 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar13 != 1) {\nLAB_00224ad8:\n                pixel = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar14 = (*pcVar29)(iVar7);\n              uVar13 = *(uint *)(iVar7 + 0x20);\n              pixel = (double)iVar14;\n              if (uVar13 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar22 = &pixel;\n              if (*(int *)(iVar7 + 0x25c) != 2) {\n                pdVar22 = (double *)((int)&pixel + ((uVar13 >> 3) - 1));\n              }\n              *(byte *)pdVar22 = *(byte *)pdVar22 ^ 0x80;\n            }" if (parenthesized_expression "(uVar13 == 2)" ( (binary_expression "uVar13 == 2" identifier == number_literal) )) (compound_statement "{\n              sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);\n              pixel = (double)(int)sVar18;\nLAB_00224ae8:\n              uVar13 = *(uint *)(iVar7 + 0x20);\n              if (uVar13 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar13 == 0x20) || (uVar13 == 0x40)) goto LAB_00224b8c;\n            }" { (expression_statement "sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);" (assignment_expression "sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7)" identifier = (call_expression "(*(code *)PTR_ReadBlobShort_003a8d80)(iVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobShort_003a8d80)" ( (pointer_expression "*(code *)PTR_ReadBlobShort_003a8d80" * (cast_expression "(code *)PTR_ReadBlobShort_003a8d80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier )))) ;) (expression_statement "pixel = (double)(int)sVar18;" (assignment_expression "pixel = (double)(int)sVar18" identifier = (cast_expression "(double)(int)sVar18" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)sVar18" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (labeled_statement "LAB_00224ae8:\n              uVar13 = *(uint *)(iVar7 + 0x20);" statement_identifier : (expression_statement "uVar13 = *(uint *)(iVar7 + 0x20);" (assignment_expression "uVar13 = *(uint *)(iVar7 + 0x20)" identifier = (pointer_expression "*(uint *)(iVar7 + 0x20)" * (cast_expression "(uint *)(iVar7 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20)" ( (binary_expression "iVar7 + 0x20" identifier + number_literal) ))))) ;)) (if_statement "if (uVar13 == 0x10) goto LAB_00224b8c;" if (parenthesized_expression "(uVar13 == 0x10)" ( (binary_expression "uVar13 == 0x10" identifier == number_literal) )) (goto_statement "goto LAB_00224b8c;" goto statement_identifier ;)) (labeled_statement "LAB_00224af8:\n              if ((uVar13 == 0x20) || (uVar13 == 0x40)) goto LAB_00224b8c;" statement_identifier : (if_statement "if ((uVar13 == 0x20) || (uVar13 == 0x40)) goto LAB_00224b8c;" if (parenthesized_expression "((uVar13 == 0x20) || (uVar13 == 0x40))" ( (binary_expression "(uVar13 == 0x20) || (uVar13 == 0x40)" (parenthesized_expression "(uVar13 == 0x20)" ( (binary_expression "uVar13 == 0x20" identifier == number_literal) )) || (parenthesized_expression "(uVar13 == 0x40)" ( (binary_expression "uVar13 == 0x40" identifier == number_literal) ))) )) (goto_statement "goto LAB_00224b8c;" goto statement_identifier ;))) }) (else_clause "else {\n              if (2 < uVar13) {\n                if (uVar13 == 4) {\n                  pcVar29 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n                  pixel = (double)fVar31;\n                }\n                else {\n                  if ((uVar13 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar34 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar7);\n                  pixel = (double)(*(code *)PTR___floatdidf_003a8a60)\n                                            ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar29 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar13 != 1) {\nLAB_00224ad8:\n                pixel = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar14 = (*pcVar29)(iVar7);\n              uVar13 = *(uint *)(iVar7 + 0x20);\n              pixel = (double)iVar14;\n              if (uVar13 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar22 = &pixel;\n              if (*(int *)(iVar7 + 0x25c) != 2) {\n                pdVar22 = (double *)((int)&pixel + ((uVar13 >> 3) - 1));\n              }\n              *(byte *)pdVar22 = *(byte *)pdVar22 ^ 0x80;\n            }" else (compound_statement "{\n              if (2 < uVar13) {\n                if (uVar13 == 4) {\n                  pcVar29 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n                  pixel = (double)fVar31;\n                }\n                else {\n                  if ((uVar13 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar34 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar7);\n                  pixel = (double)(*(code *)PTR___floatdidf_003a8a60)\n                                            ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar29 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar13 != 1) {\nLAB_00224ad8:\n                pixel = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar14 = (*pcVar29)(iVar7);\n              uVar13 = *(uint *)(iVar7 + 0x20);\n              pixel = (double)iVar14;\n              if (uVar13 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar22 = &pixel;\n              if (*(int *)(iVar7 + 0x25c) != 2) {\n                pdVar22 = (double *)((int)&pixel + ((uVar13 >> 3) - 1));\n              }\n              *(byte *)pdVar22 = *(byte *)pdVar22 ^ 0x80;\n            }" { (if_statement "if (2 < uVar13) {\n                if (uVar13 == 4) {\n                  pcVar29 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n                  pixel = (double)fVar31;\n                }\n                else {\n                  if ((uVar13 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar34 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar7);\n                  pixel = (double)(*(code *)PTR___floatdidf_003a8a60)\n                                            ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34);\n                }\n                goto LAB_00224ae8;\n              }" if (parenthesized_expression "(2 < uVar13)" ( (binary_expression "2 < uVar13" number_literal < identifier) )) (compound_statement "{\n                if (uVar13 == 4) {\n                  pcVar29 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n                  pixel = (double)fVar31;\n                }\n                else {\n                  if ((uVar13 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar34 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar7);\n                  pixel = (double)(*(code *)PTR___floatdidf_003a8a60)\n                                            ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34);\n                }\n                goto LAB_00224ae8;\n              }" { (if_statement "if (uVar13 == 4) {\n                  pcVar29 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n                  pixel = (double)fVar31;\n                }\n                else {\n                  if ((uVar13 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar34 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar7);\n                  pixel = (double)(*(code *)PTR___floatdidf_003a8a60)\n                                            ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34);\n                }" if (parenthesized_expression "(uVar13 == 4)" ( (binary_expression "uVar13 == 4" identifier == number_literal) )) (compound_statement "{\n                  pcVar29 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n                  pixel = (double)fVar31;\n                }" { (expression_statement "pcVar29 = (code *)PTR_ReadBlobSignedLong_003a968c;" (assignment_expression "pcVar29 = (code *)PTR_ReadBlobSignedLong_003a968c" identifier = (cast_expression "(code *)PTR_ReadBlobSignedLong_003a968c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (0 < (int)local_1158) goto LAB_00224b68;" if (parenthesized_expression "(0 < (int)local_1158)" ( (binary_expression "0 < (int)local_1158" number_literal < (cast_expression "(int)local_1158" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00224b68;" goto statement_identifier ;)) (expression_statement "fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);" (assignment_expression "fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7)" identifier = (cast_expression "(float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7)" ( (type_descriptor "float" primitive_type) ) (call_expression "(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobFloat_003a8e98)" ( (pointer_expression "*(code *)PTR_ReadBlobFloat_003a8e98" * (cast_expression "(code *)PTR_ReadBlobFloat_003a8e98" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier ))))) ;) (expression_statement "pixel = (double)fVar31;" (assignment_expression "pixel = (double)fVar31" identifier = (cast_expression "(double)fVar31" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else {\n                  if ((uVar13 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar34 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar7);\n                  pixel = (double)(*(code *)PTR___floatdidf_003a8a60)\n                                            ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34);\n                }" else (compound_statement "{\n                  if ((uVar13 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar34 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar7);\n                  pixel = (double)(*(code *)PTR___floatdidf_003a8a60)\n                                            ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34);\n                }" { (if_statement "if ((uVar13 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;" if (parenthesized_expression "((uVar13 != 8) || ((int)local_1158 < 1))" ( (binary_expression "(uVar13 != 8) || ((int)local_1158 < 1)" (parenthesized_expression "(uVar13 != 8)" ( (binary_expression "uVar13 != 8" identifier != number_literal) )) || (parenthesized_expression "((int)local_1158 < 1)" ( (binary_expression "(int)local_1158 < 1" (cast_expression "(int)local_1158" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) ))) )) (goto_statement "goto LAB_00224ad8;" goto statement_identifier ;)) (expression_statement "uVar34 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar7);" (assignment_expression "uVar34 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar7)" identifier = (call_expression "(*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobLongLong_003a97a0)" ( (pointer_expression "*(code *)PTR_ReadBlobLongLong_003a97a0" * (cast_expression "(code *)PTR_ReadBlobLongLong_003a97a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier )))) ;) (expression_statement "pixel = (double)(*(code *)PTR___floatdidf_003a8a60)\n                                            ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34);" (assignment_expression "pixel = (double)(*(code *)PTR___floatdidf_003a8a60)\n                                            ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34)" identifier = (cast_expression "(double)(*(code *)PTR___floatdidf_003a8a60)\n                                            ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR___floatdidf_003a8a60)\n                                            ((int)((ulonglong)uVar34 >> 0x20),(int)uVar34)" (parenthesized_expression "(*(code *)PTR___floatdidf_003a8a60)" ( (pointer_expression "*(code *)PTR___floatdidf_003a8a60" * (cast_expression "(code *)PTR___floatdidf_003a8a60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((int)((ulonglong)uVar34 >> 0x20),(int)uVar34)" ( (cast_expression "(int)((ulonglong)uVar34 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar34 >> 0x20)" ( (binary_expression "(ulonglong)uVar34 >> 0x20" (cast_expression "(ulonglong)uVar34" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (cast_expression "(int)uVar34" ( (type_descriptor "int" primitive_type) ) identifier) ))))) ;) }))) (goto_statement "goto LAB_00224ae8;" goto statement_identifier ;) })) (expression_statement "pcVar29 = (code *)PTR_ReadBlobByte_003a97f0;" (assignment_expression "pcVar29 = (code *)PTR_ReadBlobByte_003a97f0" identifier = (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (uVar13 != 1) {\nLAB_00224ad8:\n                pixel = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n                goto LAB_00224ae8;\n              }" if (parenthesized_expression "(uVar13 != 1)" ( (binary_expression "uVar13 != 1" identifier != number_literal) )) (compound_statement "{\nLAB_00224ad8:\n                pixel = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n                goto LAB_00224ae8;\n              }" { (labeled_statement "LAB_00224ad8:\n                pixel = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);" statement_identifier : (expression_statement "pixel = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);" (assignment_expression "pixel = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7)" identifier = (cast_expression "(double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobDouble_003a8c38)" ( (pointer_expression "*(code *)PTR_ReadBlobDouble_003a8c38" * (cast_expression "(code *)PTR_ReadBlobDouble_003a8c38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier ))))) ;)) (goto_statement "goto LAB_00224ae8;" goto statement_identifier ;) })) (labeled_statement "LAB_00224b68:\n              iVar14 = (*pcVar29)(iVar7);" statement_identifier : (expression_statement "iVar14 = (*pcVar29)(iVar7);" (assignment_expression "iVar14 = (*pcVar29)(iVar7)" identifier = (call_expression "(*pcVar29)(iVar7)" (parenthesized_expression "(*pcVar29)" ( (pointer_expression "*pcVar29" * identifier) )) (argument_list "(iVar7)" ( identifier )))) ;)) (expression_statement "uVar13 = *(uint *)(iVar7 + 0x20);" (assignment_expression "uVar13 = *(uint *)(iVar7 + 0x20)" identifier = (pointer_expression "*(uint *)(iVar7 + 0x20)" * (cast_expression "(uint *)(iVar7 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20)" ( (binary_expression "iVar7 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "pixel = (double)iVar14;" (assignment_expression "pixel = (double)iVar14" identifier = (cast_expression "(double)iVar14" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (if_statement "if (uVar13 != 0x10) goto LAB_00224af8;" if (parenthesized_expression "(uVar13 != 0x10)" ( (binary_expression "uVar13 != 0x10" identifier != number_literal) )) (goto_statement "goto LAB_00224af8;" goto statement_identifier ;)) (labeled_statement "LAB_00224b8c:\n              pdVar22 = &pixel;" statement_identifier : (expression_statement "pdVar22 = &pixel;" (assignment_expression "pdVar22 = &pixel" identifier = (pointer_expression "&pixel" & identifier)) ;)) (if_statement "if (*(int *)(iVar7 + 0x25c) != 2) {\n                pdVar22 = (double *)((int)&pixel + ((uVar13 >> 3) - 1));\n              }" if (parenthesized_expression "(*(int *)(iVar7 + 0x25c) != 2)" ( (binary_expression "*(int *)(iVar7 + 0x25c) != 2" (pointer_expression "*(int *)(iVar7 + 0x25c)" * (cast_expression "(int *)(iVar7 + 0x25c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x25c)" ( (binary_expression "iVar7 + 0x25c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                pdVar22 = (double *)((int)&pixel + ((uVar13 >> 3) - 1));\n              }" { (expression_statement "pdVar22 = (double *)((int)&pixel + ((uVar13 >> 3) - 1));" (assignment_expression "pdVar22 = (double *)((int)&pixel + ((uVar13 >> 3) - 1))" identifier = (cast_expression "(double *)((int)&pixel + ((uVar13 >> 3) - 1))" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pixel + ((uVar13 >> 3) - 1))" ( (binary_expression "(int)&pixel + ((uVar13 >> 3) - 1)" (cast_expression "(int)&pixel" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pixel" & identifier)) + (parenthesized_expression "((uVar13 >> 3) - 1)" ( (binary_expression "(uVar13 >> 3) - 1" (parenthesized_expression "(uVar13 >> 3)" ( (binary_expression "uVar13 >> 3" identifier >> number_literal) )) - number_literal) ))) )))) ;) })) (expression_statement "*(byte *)pdVar22 = *(byte *)pdVar22 ^ 0x80;" (assignment_expression "*(byte *)pdVar22 = *(byte *)pdVar22 ^ 0x80" (pointer_expression "*(byte *)pdVar22" * (cast_expression "(byte *)pdVar22" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "*(byte *)pdVar22 ^ 0x80" (pointer_expression "*(byte *)pdVar22" * (cast_expression "(byte *)pdVar22" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ^ number_literal)) ;) }))) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "iVar14 = *(int *)(iVar7 + 0x18);" (assignment_expression "iVar14 = *(int *)(iVar7 + 0x18)" identifier = (pointer_expression "*(int *)(iVar7 + 0x18)" * (cast_expression "(int *)(iVar7 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "pfVar21 = (float *)(iVar12 + *(int *)(*(int *)(iVar7 + 0x2d0) + 8) * 4);" (assignment_expression "pfVar21 = (float *)(iVar12 + *(int *)(*(int *)(iVar7 + 0x2d0) + 8) * 4)" identifier = (cast_expression "(float *)(iVar12 + *(int *)(*(int *)(iVar7 + 0x2d0) + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + *(int *)(*(int *)(iVar7 + 0x2d0) + 8) * 4)" ( (binary_expression "iVar12 + *(int *)(*(int *)(iVar7 + 0x2d0) + 8) * 4" identifier + (binary_expression "*(int *)(*(int *)(iVar7 + 0x2d0) + 8) * 4" (pointer_expression "*(int *)(*(int *)(iVar7 + 0x2d0) + 8)" * (cast_expression "(int *)(*(int *)(iVar7 + 0x2d0) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar7 + 0x2d0) + 8)" ( (binary_expression "*(int *)(iVar7 + 0x2d0) + 8" (pointer_expression "*(int *)(iVar7 + 0x2d0)" * (cast_expression "(int *)(iVar7 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x2d0)" ( (binary_expression "iVar7 + 0x2d0" identifier + number_literal) )))) + number_literal) )))) * number_literal)) )))) ;) (expression_statement "iVar12 = iVar12 + *(int *)(iVar7 + 0x2c0) * 4;" (assignment_expression "iVar12 = iVar12 + *(int *)(iVar7 + 0x2c0) * 4" identifier = (binary_expression "iVar12 + *(int *)(iVar7 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar7 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar7 + 0x2c0)" * (cast_expression "(int *)(iVar7 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x2c0)" ( (binary_expression "iVar7 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "*pfVar21 = (float)(((pixel - in_f22_23) * dVar33 + dVar30) * dVar32);" (assignment_expression "*pfVar21 = (float)(((pixel - in_f22_23) * dVar33 + dVar30) * dVar32)" (pointer_expression "*pfVar21" * identifier) = (cast_expression "(float)(((pixel - in_f22_23) * dVar33 + dVar30) * dVar32)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(((pixel - in_f22_23) * dVar33 + dVar30) * dVar32)" ( (binary_expression "((pixel - in_f22_23) * dVar33 + dVar30) * dVar32" (parenthesized_expression "((pixel - in_f22_23) * dVar33 + dVar30)" ( (binary_expression "(pixel - in_f22_23) * dVar33 + dVar30" (binary_expression "(pixel - in_f22_23) * dVar33" (parenthesized_expression "(pixel - in_f22_23)" ( (binary_expression "pixel - in_f22_23" identifier - identifier) )) * identifier) + identifier) )) * identifier) )))) ;) }) while (parenthesized_expression "(iVar8 < iVar14)" ( (binary_expression "iVar8 < iVar14" identifier < identifier) )) ;) })) (expression_statement "lVar35 = CONCAT44(iVar8,&pixel);" (assignment_expression "lVar35 = CONCAT44(iVar8,&pixel)" identifier = (call_expression "CONCAT44(iVar8,&pixel)" identifier (argument_list "(iVar8,&pixel)" ( identifier , (pointer_expression "&pixel" & identifier) )))) ;) (expression_statement "iVar12 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar7,exception);" (assignment_expression "iVar12 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar7,exception)" identifier = (call_expression "(*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar7,exception)" (parenthesized_expression "(*(code *)PTR_SyncAuthenticPixels_003a91e4)" ( (pointer_expression "*(code *)PTR_SyncAuthenticPixels_003a91e4" * (cast_expression "(code *)PTR_SyncAuthenticPixels_003a91e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,exception)" ( identifier , identifier )))) ;) (if_statement "if ((iVar12 == 0) ||\n           ((*(int *)(iVar7 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar7,local_112c,local_1160._0_4_,uVar16,0,\n                                     *(undefined4 *)(iVar7 + 0x1c)), lVar35 = CONCAT44(iVar8,&pixel)\n            , local_114c == 0)))) break;" if (parenthesized_expression "((iVar12 == 0) ||\n           ((*(int *)(iVar7 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar7,local_112c,local_1160._0_4_,uVar16,0,\n                                     *(undefined4 *)(iVar7 + 0x1c)), lVar35 = CONCAT44(iVar8,&pixel)\n            , local_114c == 0))))" ( (binary_expression "(iVar12 == 0) ||\n           ((*(int *)(iVar7 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar7,local_112c,local_1160._0_4_,uVar16,0,\n                                     *(undefined4 *)(iVar7 + 0x1c)), lVar35 = CONCAT44(iVar8,&pixel)\n            , local_114c == 0)))" (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) || (parenthesized_expression "((*(int *)(iVar7 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar7,local_112c,local_1160._0_4_,uVar16,0,\n                                     *(undefined4 *)(iVar7 + 0x1c)), lVar35 = CONCAT44(iVar8,&pixel)\n            , local_114c == 0)))" ( (parenthesized_expression "(*(int *)(iVar7 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar7,local_112c,local_1160._0_4_,uVar16,0,\n                                     *(undefined4 *)(iVar7 + 0x1c)), lVar35 = CONCAT44(iVar8,&pixel)\n            , local_114c == 0))" ( (binary_expression "*(int *)(iVar7 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar7,local_112c,local_1160._0_4_,uVar16,0,\n                                     *(undefined4 *)(iVar7 + 0x1c)), lVar35 = CONCAT44(iVar8,&pixel)\n            , local_114c == 0)" (binary_expression "*(int *)(iVar7 + 0x3364) == 0" (pointer_expression "*(int *)(iVar7 + 0x3364)" * (cast_expression "(int *)(iVar7 + 0x3364)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x3364)" ( (binary_expression "iVar7 + 0x3364" identifier + number_literal) )))) == number_literal) && (parenthesized_expression "(local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar7,local_112c,local_1160._0_4_,uVar16,0,\n                                     *(undefined4 *)(iVar7 + 0x1c)), lVar35 = CONCAT44(iVar8,&pixel)\n            , local_114c == 0)" ( (comma_expression "local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar7,local_112c,local_1160._0_4_,uVar16,0,\n                                     *(undefined4 *)(iVar7 + 0x1c)), lVar35 = CONCAT44(iVar8,&pixel)\n            , local_114c == 0" (assignment_expression "local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar7,local_112c,local_1160._0_4_,uVar16,0,\n                                     *(undefined4 *)(iVar7 + 0x1c))" identifier = (call_expression "(*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar7,local_112c,local_1160._0_4_,uVar16,0,\n                                     *(undefined4 *)(iVar7 + 0x1c))" (parenthesized_expression "(*(code *)PTR_SetImageProgress_003a8cb4)" ( (pointer_expression "*(code *)PTR_SetImageProgress_003a8cb4" * (cast_expression "(code *)PTR_SetImageProgress_003a8cb4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,local_112c,local_1160._0_4_,uVar16,0,\n                                     *(undefined4 *)(iVar7 + 0x1c))" ( identifier , identifier , (field_expression "local_1160._0_4_" identifier . field_identifier) , identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar7 + 0x1c)" * (cast_expression "(undefined4 *)(iVar7 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) )))) )))) , (comma_expression "lVar35 = CONCAT44(iVar8,&pixel)\n            , local_114c == 0" (assignment_expression "lVar35 = CONCAT44(iVar8,&pixel)" identifier = (call_expression "CONCAT44(iVar8,&pixel)" identifier (argument_list "(iVar8,&pixel)" ( identifier , (pointer_expression "&pixel" & identifier) )))) , (binary_expression "local_114c == 0" identifier == number_literal))) ))) )) ))) )) (break_statement "break;" break ;)) (expression_statement "uVar26 = uVar26 - 1;" (assignment_expression "uVar26 = uVar26 - 1" identifier = (binary_expression "uVar26 - 1" identifier - number_literal)) ;) (expression_statement "iVar8 = local_1160._0_4_ + -1;" (assignment_expression "iVar8 = local_1160._0_4_ + -1" identifier = (binary_expression "local_1160._0_4_ + -1" (field_expression "local_1160._0_4_" identifier . field_identifier) + number_literal)) ;) (expression_statement "lVar35 = CONCAT44(iVar8,&pixel);" (assignment_expression "lVar35 = CONCAT44(iVar8,&pixel)" identifier = (call_expression "CONCAT44(iVar8,&pixel)" identifier (argument_list "(iVar8,&pixel)" ( identifier , (pointer_expression "&pixel" & identifier) )))) ;) (expression_statement "local_1160 = CONCAT44((uint)(uVar16 - 1 < uVar16) + iVar8,local_1160._4_4_);" (assignment_expression "local_1160 = CONCAT44((uint)(uVar16 - 1 < uVar16) + iVar8,local_1160._4_4_)" identifier = (call_expression "CONCAT44((uint)(uVar16 - 1 < uVar16) + iVar8,local_1160._4_4_)" identifier (argument_list "((uint)(uVar16 - 1 < uVar16) + iVar8,local_1160._4_4_)" ( (binary_expression "(uint)(uVar16 - 1 < uVar16) + iVar8" (call_expression "(uint)(uVar16 - 1 < uVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 - 1 < uVar16)" ( (binary_expression "uVar16 - 1 < uVar16" (binary_expression "uVar16 - 1" identifier - number_literal) < identifier) ))) + identifier) , (field_expression "local_1160._4_4_" identifier . field_identifier) )))) ;) (expression_statement "uVar16 = uVar16 - 1;" (assignment_expression "uVar16 = uVar16 - 1" identifier = (binary_expression "uVar16 - 1" identifier - number_literal)) ;) (if_statement "if (uVar26 == 0xffffffff) break;" if (parenthesized_expression "(uVar26 == 0xffffffff)" ( (binary_expression "uVar26 == 0xffffffff" identifier == number_literal) )) (break_statement "break;" break ;)) })) })) (expression_statement "iVar8 = (*(code *)PTR_EOFBlob_003a9748)(iVar7);" (assignment_expression "iVar8 = (*(code *)PTR_EOFBlob_003a9748)(iVar7)" identifier = (call_expression "(*(code *)PTR_EOFBlob_003a9748)(iVar7)" (parenthesized_expression "(*(code *)PTR_EOFBlob_003a9748)" ( (pointer_expression "*(code *)PTR_EOFBlob_003a9748" * (cast_expression "(code *)PTR_EOFBlob_003a9748" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier )))) ;) (if_statement "if (iVar8 != 0) {\n      puVar17 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar24 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar17);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar7 + 0x340,uVar24);\n      (*(code *)PTR_DestroyString_003a9074)(uVar24);\nLAB_00224e4c:\n      (*(code *)PTR_CloseBlob_003a9688)(iVar7);\n      if (local_114c == 0) {\nLAB_00224fc0:\n        pIVar15 = (Image *)(*(code *)PTR_DestroyImageList_003a9510)(iVar7);\n        dVar30 = in_f22_23;\n      }\n      else {\nLAB_00224e60:\n        pIVar15 = (Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(iVar7);\n        dVar30 = in_f22_23;\n      }\n      goto LAB_00224c7c;\n    }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n      puVar17 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar24 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar17);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar7 + 0x340,uVar24);\n      (*(code *)PTR_DestroyString_003a9074)(uVar24);\nLAB_00224e4c:\n      (*(code *)PTR_CloseBlob_003a9688)(iVar7);\n      if (local_114c == 0) {\nLAB_00224fc0:\n        pIVar15 = (Image *)(*(code *)PTR_DestroyImageList_003a9510)(iVar7);\n        dVar30 = in_f22_23;\n      }\n      else {\nLAB_00224e60:\n        pIVar15 = (Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(iVar7);\n        dVar30 = in_f22_23;\n      }\n      goto LAB_00224c7c;\n    }" { (expression_statement "puVar17 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "puVar17 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_003a99b0)()" (parenthesized_expression "(*(code *)PTR___errno_location_003a99b0)" ( (pointer_expression "*(code *)PTR___errno_location_003a99b0" * (cast_expression "(code *)PTR___errno_location_003a99b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar24 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar17);" (assignment_expression "uVar24 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar17)" identifier = (call_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar17)" (parenthesized_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)" ( (pointer_expression "*(code *)PTR_GetExceptionMessage_003a93ec" * (cast_expression "(code *)PTR_GetExceptionMessage_003a93ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar17)" ( (pointer_expression "*puVar17" * identifier) )))) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar7 + 0x340,uVar24);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar7 + 0x340,uVar24)" (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,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar7 + 0x340,uVar24)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xe40" identifier + number_literal) , (binary_expression "PTR_UINT_003a8950 + -0xc70" identifier + number_literal) , number_literal , number_literal , (binary_expression "PTR_s_courses_003a88ec + -0x17c" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0xe78" identifier + number_literal) , (binary_expression "iVar7 + 0x340" identifier + number_literal) , identifier ))) ;) (expression_statement "(*(code *)PTR_DestroyString_003a9074)(uVar24);" (call_expression "(*(code *)PTR_DestroyString_003a9074)(uVar24)" (parenthesized_expression "(*(code *)PTR_DestroyString_003a9074)" ( (pointer_expression "*(code *)PTR_DestroyString_003a9074" * (cast_expression "(code *)PTR_DestroyString_003a9074" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar24)" ( identifier ))) ;) (labeled_statement "LAB_00224e4c:\n      (*(code *)PTR_CloseBlob_003a9688)(iVar7);" statement_identifier : (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(iVar7);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(iVar7)" (parenthesized_expression "(*(code *)PTR_CloseBlob_003a9688)" ( (pointer_expression "*(code *)PTR_CloseBlob_003a9688" * (cast_expression "(code *)PTR_CloseBlob_003a9688" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier ))) ;)) (if_statement "if (local_114c == 0) {\nLAB_00224fc0:\n        pIVar15 = (Image *)(*(code *)PTR_DestroyImageList_003a9510)(iVar7);\n        dVar30 = in_f22_23;\n      }\n      else {\nLAB_00224e60:\n        pIVar15 = (Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(iVar7);\n        dVar30 = in_f22_23;\n      }" if (parenthesized_expression "(local_114c == 0)" ( (binary_expression "local_114c == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00224fc0:\n        pIVar15 = (Image *)(*(code *)PTR_DestroyImageList_003a9510)(iVar7);\n        dVar30 = in_f22_23;\n      }" { (labeled_statement "LAB_00224fc0:\n        pIVar15 = (Image *)(*(code *)PTR_DestroyImageList_003a9510)(iVar7);" statement_identifier : (expression_statement "pIVar15 = (Image *)(*(code *)PTR_DestroyImageList_003a9510)(iVar7);" (assignment_expression "pIVar15 = (Image *)(*(code *)PTR_DestroyImageList_003a9510)(iVar7)" identifier = (cast_expression "(Image *)(*(code *)PTR_DestroyImageList_003a9510)(iVar7)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_DestroyImageList_003a9510)(iVar7)" (parenthesized_expression "(*(code *)PTR_DestroyImageList_003a9510)" ( (pointer_expression "*(code *)PTR_DestroyImageList_003a9510" * (cast_expression "(code *)PTR_DestroyImageList_003a9510" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier ))))) ;)) (expression_statement "dVar30 = in_f22_23;" (assignment_expression "dVar30 = in_f22_23" identifier = identifier) ;) }) (else_clause "else {\nLAB_00224e60:\n        pIVar15 = (Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(iVar7);\n        dVar30 = in_f22_23;\n      }" else (compound_statement "{\nLAB_00224e60:\n        pIVar15 = (Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(iVar7);\n        dVar30 = in_f22_23;\n      }" { (labeled_statement "LAB_00224e60:\n        pIVar15 = (Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(iVar7);" statement_identifier : (expression_statement "pIVar15 = (Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(iVar7);" (assignment_expression "pIVar15 = (Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(iVar7)" identifier = (cast_expression "(Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(iVar7)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_GetFirstImageInList_003a944c)(iVar7)" (parenthesized_expression "(*(code *)PTR_GetFirstImageInList_003a944c)" ( (pointer_expression "*(code *)PTR_GetFirstImageInList_003a944c" * (cast_expression "(code *)PTR_GetFirstImageInList_003a944c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier ))))) ;)) (expression_statement "dVar30 = in_f22_23;" (assignment_expression "dVar30 = in_f22_23" identifier = identifier) ;) }))) (goto_statement "goto LAB_00224c7c;" goto statement_identifier ;) })) (if_statement "if ((image_info->number_scenes != 0) &&\n       ((image_info->number_scenes + image_info->scene) - 1 <= *(uint *)(iVar7 + 0x26c)))\n    goto LAB_00224e4c;" if (parenthesized_expression "((image_info->number_scenes != 0) &&\n       ((image_info->number_scenes + image_info->scene) - 1 <= *(uint *)(iVar7 + 0x26c)))" ( (binary_expression "(image_info->number_scenes != 0) &&\n       ((image_info->number_scenes + image_info->scene) - 1 <= *(uint *)(iVar7 + 0x26c))" (parenthesized_expression "(image_info->number_scenes != 0)" ( (binary_expression "image_info->number_scenes != 0" (field_expression "image_info->number_scenes" identifier -> field_identifier) != number_literal) )) && (parenthesized_expression "((image_info->number_scenes + image_info->scene) - 1 <= *(uint *)(iVar7 + 0x26c))" ( (binary_expression "(image_info->number_scenes + image_info->scene) - 1 <= *(uint *)(iVar7 + 0x26c)" (binary_expression "(image_info->number_scenes + image_info->scene) - 1" (parenthesized_expression "(image_info->number_scenes + image_info->scene)" ( (binary_expression "image_info->number_scenes + image_info->scene" (field_expression "image_info->number_scenes" identifier -> field_identifier) + (field_expression "image_info->scene" identifier -> field_identifier)) )) - number_literal) <= (pointer_expression "*(uint *)(iVar7 + 0x26c)" * (cast_expression "(uint *)(iVar7 + 0x26c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x26c)" ( (binary_expression "iVar7 + 0x26c" identifier + number_literal) ))))) ))) )) (goto_statement "goto LAB_00224e4c;" goto statement_identifier ;)) (if_statement "if ((int)local_1154 < (int)(local_1138 + -1)) {\n      (*(code *)PTR_AcquireNextImage_003a8f90)(image_info,iVar7,exception);\n      iVar8 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar7);\n      if (iVar8 != 0) {\n        iVar7 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar7);\n        uVar34 = (*(code *)PTR_TellBlob_003a931c)(iVar7);\n        uVar36 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar7);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar7,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar34 >> 0x20),(int)uVar34,uVar36);\n        if (local_114c != 0) goto LAB_00224e34;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar7);\n      goto LAB_00224fc0;\n    }" if (parenthesized_expression "((int)local_1154 < (int)(local_1138 + -1))" ( (binary_expression "(int)local_1154 < (int)(local_1138 + -1)" (cast_expression "(int)local_1154" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)(local_1138 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_1138 + -1)" ( (binary_expression "local_1138 + -1" identifier + number_literal) )))) )) (compound_statement "{\n      (*(code *)PTR_AcquireNextImage_003a8f90)(image_info,iVar7,exception);\n      iVar8 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar7);\n      if (iVar8 != 0) {\n        iVar7 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar7);\n        uVar34 = (*(code *)PTR_TellBlob_003a931c)(iVar7);\n        uVar36 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar7);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar7,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar34 >> 0x20),(int)uVar34,uVar36);\n        if (local_114c != 0) goto LAB_00224e34;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar7);\n      goto LAB_00224fc0;\n    }" { (expression_statement "(*(code *)PTR_AcquireNextImage_003a8f90)(image_info,iVar7,exception);" (call_expression "(*(code *)PTR_AcquireNextImage_003a8f90)(image_info,iVar7,exception)" (parenthesized_expression "(*(code *)PTR_AcquireNextImage_003a8f90)" ( (pointer_expression "*(code *)PTR_AcquireNextImage_003a8f90" * (cast_expression "(code *)PTR_AcquireNextImage_003a8f90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image_info,iVar7,exception)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar8 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar7);" (assignment_expression "iVar8 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar7)" identifier = (call_expression "(*(code *)PTR_GetNextImageInList_003a9470)(iVar7)" (parenthesized_expression "(*(code *)PTR_GetNextImageInList_003a9470)" ( (pointer_expression "*(code *)PTR_GetNextImageInList_003a9470" * (cast_expression "(code *)PTR_GetNextImageInList_003a9470" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier )))) ;) (if_statement "if (iVar8 != 0) {\n        iVar7 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar7);\n        uVar34 = (*(code *)PTR_TellBlob_003a931c)(iVar7);\n        uVar36 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar7);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar7,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar34 >> 0x20),(int)uVar34,uVar36);\n        if (local_114c != 0) goto LAB_00224e34;\n      }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar7 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar7);\n        uVar34 = (*(code *)PTR_TellBlob_003a931c)(iVar7);\n        uVar36 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar7);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar7,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar34 >> 0x20),(int)uVar34,uVar36);\n        if (local_114c != 0) goto LAB_00224e34;\n      }" { (expression_statement "iVar7 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar7);" (assignment_expression "iVar7 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar7)" identifier = (call_expression "(*(code *)PTR_SyncNextImageInList_003a9408)(iVar7)" (parenthesized_expression "(*(code *)PTR_SyncNextImageInList_003a9408)" ( (pointer_expression "*(code *)PTR_SyncNextImageInList_003a9408" * (cast_expression "(code *)PTR_SyncNextImageInList_003a9408" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier )))) ;) (expression_statement "uVar34 = (*(code *)PTR_TellBlob_003a931c)(iVar7);" (assignment_expression "uVar34 = (*(code *)PTR_TellBlob_003a931c)(iVar7)" identifier = (call_expression "(*(code *)PTR_TellBlob_003a931c)(iVar7)" (parenthesized_expression "(*(code *)PTR_TellBlob_003a931c)" ( (pointer_expression "*(code *)PTR_TellBlob_003a931c" * (cast_expression "(code *)PTR_TellBlob_003a931c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier )))) ;) (expression_statement "uVar36 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar7);" (assignment_expression "uVar36 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar7)" identifier = (call_expression "(*(code *)PTR_GetBlobSize_003a94b8)(iVar7)" (parenthesized_expression "(*(code *)PTR_GetBlobSize_003a94b8)" ( (pointer_expression "*(code *)PTR_GetBlobSize_003a94b8" * (cast_expression "(code *)PTR_GetBlobSize_003a94b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier )))) ;) (expression_statement "local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar7,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar34 >> 0x20),(int)uVar34,uVar36);" (assignment_expression "local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar7,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar34 >> 0x20),(int)uVar34,uVar36)" identifier = (call_expression "(*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar7,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar34 >> 0x20),(int)uVar34,uVar36)" (parenthesized_expression "(*(code *)PTR_SetImageProgress_003a8cb4)" ( (pointer_expression "*(code *)PTR_SetImageProgress_003a8cb4" * (cast_expression "(code *)PTR_SetImageProgress_003a8cb4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar34 >> 0x20),(int)uVar34,uVar36)" ( identifier , (binary_expression "PTR_s_courses_003a88ec + -0x168" identifier + number_literal) , (cast_expression "(int)((ulonglong)uVar34 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar34 >> 0x20)" ( (binary_expression "(ulonglong)uVar34 >> 0x20" (cast_expression "(ulonglong)uVar34" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (cast_expression "(int)uVar34" ( (type_descriptor "int" primitive_type) ) identifier) , identifier )))) ;) (if_statement "if (local_114c != 0) goto LAB_00224e34;" if (parenthesized_expression "(local_114c != 0)" ( (binary_expression "local_114c != 0" identifier != number_literal) )) (goto_statement "goto LAB_00224e34;" goto statement_identifier ;)) })) (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(iVar7);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(iVar7)" (parenthesized_expression "(*(code *)PTR_CloseBlob_003a9688)" ( (pointer_expression "*(code *)PTR_CloseBlob_003a9688" * (cast_expression "(code *)PTR_CloseBlob_003a9688" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier ))) ;) (goto_statement "goto LAB_00224fc0;" goto statement_identifier ;) })) (labeled_statement "LAB_00224e34:\n    local_1154 = local_1154 + 1;" statement_identifier : (expression_statement "local_1154 = local_1154 + 1;" (assignment_expression "local_1154 = local_1154 + 1" identifier = (binary_expression "local_1154 + 1" identifier + number_literal)) ;)) (if_statement "if (local_1154 == local_1138) goto LAB_00224e4c;" if (parenthesized_expression "(local_1154 == local_1138)" ( (binary_expression "local_1154 == local_1138" identifier == identifier) )) (goto_statement "goto LAB_00224e4c;" goto statement_identifier ;)) (labeled_statement "LAB_00224900:\n    MVar11 = image_info->ping;" statement_identifier : (expression_statement "MVar11 = image_info->ping;" (assignment_expression "MVar11 = image_info->ping" identifier = (field_expression "image_info->ping" identifier -> field_identifier)) ;)) (expression_statement "*(int *)(iVar7 + 0x18) = local_1148;" (assignment_expression "*(int *)(iVar7 + 0x18) = local_1148" (pointer_expression "*(int *)(iVar7 + 0x18)" * (cast_expression "(int *)(iVar7 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar7 + 0x1c) = local_1144;" (assignment_expression "*(int *)(iVar7 + 0x1c) = local_1144" (pointer_expression "*(int *)(iVar7 + 0x1c)" * (cast_expression "(int *)(iVar7 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar7 + 0x20) = local_1128;" (assignment_expression "*(int *)(iVar7 + 0x20) = local_1128" (pointer_expression "*(int *)(iVar7 + 0x20)" * (cast_expression "(int *)(iVar7 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20)" ( (binary_expression "iVar7 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(EndianType *)(iVar7 + 0x25c) = local_1124;" (assignment_expression "*(EndianType *)(iVar7 + 0x25c) = local_1124" (pointer_expression "*(EndianType *)(iVar7 + 0x25c)" * (cast_expression "(EndianType *)(iVar7 + 0x25c)" ( (type_descriptor "EndianType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x25c)" ( (binary_expression "iVar7 + 0x25c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(iVar7 + 0x26c) = local_1154;" (assignment_expression "*(undefined **)(iVar7 + 0x26c) = local_1154" (pointer_expression "*(undefined **)(iVar7 + 0x26c)" * (cast_expression "(undefined **)(iVar7 + 0x26c)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x26c)" ( (binary_expression "iVar7 + 0x26c" identifier + number_literal) )))) = identifier) ;) (if_statement "if (((MVar11 != MagickFalse) && (image_info->number_scenes != 0)) &&\n       ((undefined *)(image_info->number_scenes + image_info->scene + -1) <= local_1154))\n    goto LAB_00224e4c;" if (parenthesized_expression "(((MVar11 != MagickFalse) && (image_info->number_scenes != 0)) &&\n       ((undefined *)(image_info->number_scenes + image_info->scene + -1) <= local_1154))" ( (binary_expression "((MVar11 != MagickFalse) && (image_info->number_scenes != 0)) &&\n       ((undefined *)(image_info->number_scenes + image_info->scene + -1) <= local_1154)" (parenthesized_expression "((MVar11 != MagickFalse) && (image_info->number_scenes != 0))" ( (binary_expression "(MVar11 != MagickFalse) && (image_info->number_scenes != 0)" (parenthesized_expression "(MVar11 != MagickFalse)" ( (binary_expression "MVar11 != MagickFalse" identifier != identifier) )) && (parenthesized_expression "(image_info->number_scenes != 0)" ( (binary_expression "image_info->number_scenes != 0" (field_expression "image_info->number_scenes" identifier -> field_identifier) != number_literal) ))) )) && (parenthesized_expression "((undefined *)(image_info->number_scenes + image_info->scene + -1) <= local_1154)" ( (binary_expression "(undefined *)(image_info->number_scenes + image_info->scene + -1) <= local_1154" (cast_expression "(undefined *)(image_info->number_scenes + image_info->scene + -1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(image_info->number_scenes + image_info->scene + -1)" ( (binary_expression "image_info->number_scenes + image_info->scene + -1" (binary_expression "image_info->number_scenes + image_info->scene" (field_expression "image_info->number_scenes" identifier -> field_identifier) + (field_expression "image_info->scene" identifier -> field_identifier)) + number_literal) ))) <= identifier) ))) )) (goto_statement "goto LAB_00224e4c;" goto statement_identifier ;)) (expression_statement "local_114c = (*(code *)PTR_SetImageExtent_003a94ac)(iVar7,local_1148,local_1144,exception);" (assignment_expression "local_114c = (*(code *)PTR_SetImageExtent_003a94ac)(iVar7,local_1148,local_1144,exception)" identifier = (call_expression "(*(code *)PTR_SetImageExtent_003a94ac)(iVar7,local_1148,local_1144,exception)" (parenthesized_expression "(*(code *)PTR_SetImageExtent_003a94ac)" ( (pointer_expression "*(code *)PTR_SetImageExtent_003a94ac" * (cast_expression "(code *)PTR_SetImageExtent_003a94ac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,local_1148,local_1144,exception)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (local_114c == 0) goto LAB_00224fc0;" if (parenthesized_expression "(local_114c == 0)" ( (binary_expression "local_114c == 0" identifier == number_literal) )) (goto_statement "goto LAB_00224fc0;" goto statement_identifier ;)) (expression_statement "(*(code *)PTR_SetImageColorspace_003a8d40)(iVar7,3,exception);" (call_expression "(*(code *)PTR_SetImageColorspace_003a8d40)(iVar7,3,exception)" (parenthesized_expression "(*(code *)PTR_SetImageColorspace_003a8d40)" ( (pointer_expression "*(code *)PTR_SetImageColorspace_003a8d40" * (cast_expression "(code *)PTR_SetImageColorspace_003a8d40" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,3,exception)" ( identifier , number_literal , identifier ))) ;) (expression_statement "in_f22_23 = fits_info.min_data;" (assignment_expression "in_f22_23 = fits_info.min_data" identifier = (field_expression "fits_info.min_data" identifier . field_identifier)) ;) (if_statement "if ((fits_info.min_data != 0.0) || (fits_info.max_data != 0.0)) {\n      if (local_1158 != (undefined *)0x0) goto LAB_002249dc;\n      dVar30 = 0.0;\n      dVar32 = dVar30;\n      goto LAB_002249f4;\n    }" if (parenthesized_expression "((fits_info.min_data != 0.0) || (fits_info.max_data != 0.0))" ( (binary_expression "(fits_info.min_data != 0.0) || (fits_info.max_data != 0.0)" (parenthesized_expression "(fits_info.min_data != 0.0)" ( (binary_expression "fits_info.min_data != 0.0" (field_expression "fits_info.min_data" identifier . field_identifier) != number_literal) )) || (parenthesized_expression "(fits_info.max_data != 0.0)" ( (binary_expression "fits_info.max_data != 0.0" (field_expression "fits_info.max_data" identifier . field_identifier) != number_literal) ))) )) (compound_statement "{\n      if (local_1158 != (undefined *)0x0) goto LAB_002249dc;\n      dVar30 = 0.0;\n      dVar32 = dVar30;\n      goto LAB_002249f4;\n    }" { (if_statement "if (local_1158 != (undefined *)0x0) goto LAB_002249dc;" if (parenthesized_expression "(local_1158 != (undefined *)0x0)" ( (binary_expression "local_1158 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002249dc;" goto statement_identifier ;)) (expression_statement "dVar30 = 0.0;" (assignment_expression "dVar30 = 0.0" identifier = number_literal) ;) (expression_statement "dVar32 = dVar30;" (assignment_expression "dVar32 = dVar30" identifier = identifier) ;) (goto_statement "goto LAB_002249f4;" goto statement_identifier ;) })) (if_statement "if (((uint)local_1158 & 0xffffffdf) != 0xffffffc0) break;" if (parenthesized_expression "(((uint)local_1158 & 0xffffffdf) != 0xffffffc0)" ( (binary_expression "((uint)local_1158 & 0xffffffdf) != 0xffffffc0" (parenthesized_expression "((uint)local_1158 & 0xffffffdf)" ( (binary_expression "(uint)local_1158 & 0xffffffdf" (cast_expression "(uint)local_1158" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (expression_statement "dVar30 = fits_info.max_data;" (assignment_expression "dVar30 = fits_info.max_data" identifier = (field_expression "fits_info.max_data" identifier . field_identifier)) ;) (expression_statement "lVar37 = (*(code *)PTR_TellBlob_003a931c)(iVar7);" (assignment_expression "lVar37 = (*(code *)PTR_TellBlob_003a931c)(iVar7)" identifier = (call_expression "(*(code *)PTR_TellBlob_003a931c)(iVar7)" (parenthesized_expression "(*(code *)PTR_TellBlob_003a931c)" ( (pointer_expression "*(code *)PTR_TellBlob_003a931c" * (cast_expression "(code *)PTR_TellBlob_003a931c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier )))) ;) (if_statement "if (lVar37 != -1) {\n      lVar35 = (ulonglong)*(uint *)(iVar7 + 0x18) * (ulonglong)*(uint *)(iVar7 + 0x1c);\n      uVar26 = *(uint *)(iVar7 + 0x20) >> 3;\n      if (uVar26 == 2) {\n        sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);\n        dVar30 = (double)(int)sVar18;\n      }\n      else if (uVar26 == 4) {\n        fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n        dVar30 = (double)fVar31;\n      }\n      else if (uVar26 == 1) {\n        iVar8 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n        dVar30 = (double)iVar8;\n      }\n      else {\n        dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n      }\n      local_1160._0_4_ = (int)((ulonglong)lVar35 >> 0x20);\n      uVar24 = local_1160._0_4_;\n      local_1160 = lVar35;\n      fits_info.min_data = dVar30;\n      fits_info.max_data = dVar30;\n      if (0xffffffff < lVar35) goto LAB_00225060;\n      goto LAB_002252f8;\n    }" if (parenthesized_expression "(lVar37 != -1)" ( (binary_expression "lVar37 != -1" identifier != number_literal) )) (compound_statement "{\n      lVar35 = (ulonglong)*(uint *)(iVar7 + 0x18) * (ulonglong)*(uint *)(iVar7 + 0x1c);\n      uVar26 = *(uint *)(iVar7 + 0x20) >> 3;\n      if (uVar26 == 2) {\n        sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);\n        dVar30 = (double)(int)sVar18;\n      }\n      else if (uVar26 == 4) {\n        fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n        dVar30 = (double)fVar31;\n      }\n      else if (uVar26 == 1) {\n        iVar8 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n        dVar30 = (double)iVar8;\n      }\n      else {\n        dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n      }\n      local_1160._0_4_ = (int)((ulonglong)lVar35 >> 0x20);\n      uVar24 = local_1160._0_4_;\n      local_1160 = lVar35;\n      fits_info.min_data = dVar30;\n      fits_info.max_data = dVar30;\n      if (0xffffffff < lVar35) goto LAB_00225060;\n      goto LAB_002252f8;\n    }" { (expression_statement "lVar35 = (ulonglong)*(uint *)(iVar7 + 0x18) * (ulonglong)*(uint *)(iVar7 + 0x1c);" (assignment_expression "lVar35 = (ulonglong)*(uint *)(iVar7 + 0x18) * (ulonglong)*(uint *)(iVar7 + 0x1c)" identifier = (binary_expression "(ulonglong)*(uint *)(iVar7 + 0x18) * (ulonglong)*(uint *)(iVar7 + 0x1c)" (binary_expression "(ulonglong)*(uint *)(iVar7 + 0x18) * (ulonglong)" (binary_expression "(ulonglong)*(uint *)(iVar7 + 0x18)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(iVar7 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) )))) * (parenthesized_expression "(ulonglong)" ( identifier ))) * (cast_expression "(uint *)(iVar7 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar26 = *(uint *)(iVar7 + 0x20) >> 3;" (assignment_expression "uVar26 = *(uint *)(iVar7 + 0x20) >> 3" identifier = (binary_expression "*(uint *)(iVar7 + 0x20) >> 3" (pointer_expression "*(uint *)(iVar7 + 0x20)" * (cast_expression "(uint *)(iVar7 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20)" ( (binary_expression "iVar7 + 0x20" identifier + number_literal) )))) >> number_literal)) ;) (if_statement "if (uVar26 == 2) {\n        sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);\n        dVar30 = (double)(int)sVar18;\n      }\n      else if (uVar26 == 4) {\n        fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n        dVar30 = (double)fVar31;\n      }\n      else if (uVar26 == 1) {\n        iVar8 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n        dVar30 = (double)iVar8;\n      }\n      else {\n        dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n      }" if (parenthesized_expression "(uVar26 == 2)" ( (binary_expression "uVar26 == 2" identifier == number_literal) )) (compound_statement "{\n        sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);\n        dVar30 = (double)(int)sVar18;\n      }" { (expression_statement "sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);" (assignment_expression "sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7)" identifier = (call_expression "(*(code *)PTR_ReadBlobShort_003a8d80)(iVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobShort_003a8d80)" ( (pointer_expression "*(code *)PTR_ReadBlobShort_003a8d80" * (cast_expression "(code *)PTR_ReadBlobShort_003a8d80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier )))) ;) (expression_statement "dVar30 = (double)(int)sVar18;" (assignment_expression "dVar30 = (double)(int)sVar18" identifier = (cast_expression "(double)(int)sVar18" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)sVar18" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else if (uVar26 == 4) {\n        fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n        dVar30 = (double)fVar31;\n      }\n      else if (uVar26 == 1) {\n        iVar8 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n        dVar30 = (double)iVar8;\n      }\n      else {\n        dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n      }" else (if_statement "if (uVar26 == 4) {\n        fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n        dVar30 = (double)fVar31;\n      }\n      else if (uVar26 == 1) {\n        iVar8 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n        dVar30 = (double)iVar8;\n      }\n      else {\n        dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n      }" if (parenthesized_expression "(uVar26 == 4)" ( (binary_expression "uVar26 == 4" identifier == number_literal) )) (compound_statement "{\n        fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n        dVar30 = (double)fVar31;\n      }" { (expression_statement "fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);" (assignment_expression "fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7)" identifier = (cast_expression "(float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7)" ( (type_descriptor "float" primitive_type) ) (call_expression "(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobFloat_003a8e98)" ( (pointer_expression "*(code *)PTR_ReadBlobFloat_003a8e98" * (cast_expression "(code *)PTR_ReadBlobFloat_003a8e98" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier ))))) ;) (expression_statement "dVar30 = (double)fVar31;" (assignment_expression "dVar30 = (double)fVar31" identifier = (cast_expression "(double)fVar31" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else if (uVar26 == 1) {\n        iVar8 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n        dVar30 = (double)iVar8;\n      }\n      else {\n        dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n      }" else (if_statement "if (uVar26 == 1) {\n        iVar8 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n        dVar30 = (double)iVar8;\n      }\n      else {\n        dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n      }" if (parenthesized_expression "(uVar26 == 1)" ( (binary_expression "uVar26 == 1" identifier == number_literal) )) (compound_statement "{\n        iVar8 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n        dVar30 = (double)iVar8;\n      }" { (expression_statement "iVar8 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);" (assignment_expression "iVar8 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(iVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier )))) ;) (expression_statement "dVar30 = (double)iVar8;" (assignment_expression "dVar30 = (double)iVar8" identifier = (cast_expression "(double)iVar8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else {\n        dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n      }" else (compound_statement "{\n        dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n      }" { (expression_statement "dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);" (assignment_expression "dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7)" identifier = (cast_expression "(double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobDouble_003a8c38)" ( (pointer_expression "*(code *)PTR_ReadBlobDouble_003a8c38" * (cast_expression "(code *)PTR_ReadBlobDouble_003a8c38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier ))))) ;) }))))))) (expression_statement "local_1160._0_4_ = (int)((ulonglong)lVar35 >> 0x20);" (assignment_expression "local_1160._0_4_ = (int)((ulonglong)lVar35 >> 0x20)" (field_expression "local_1160._0_4_" identifier . field_identifier) = (cast_expression "(int)((ulonglong)lVar35 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar35 >> 0x20)" ( (binary_expression "(ulonglong)lVar35 >> 0x20" (cast_expression "(ulonglong)lVar35" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar24 = local_1160._0_4_;" (assignment_expression "uVar24 = local_1160._0_4_" identifier = (field_expression "local_1160._0_4_" identifier . field_identifier)) ;) (expression_statement "local_1160 = lVar35;" (assignment_expression "local_1160 = lVar35" identifier = identifier) ;) (expression_statement "fits_info.min_data = dVar30;" (assignment_expression "fits_info.min_data = dVar30" (field_expression "fits_info.min_data" identifier . field_identifier) = identifier) ;) (expression_statement "fits_info.max_data = dVar30;" (assignment_expression "fits_info.max_data = dVar30" (field_expression "fits_info.max_data" identifier . field_identifier) = identifier) ;) (if_statement "if (0xffffffff < lVar35) goto LAB_00225060;" if (parenthesized_expression "(0xffffffff < lVar35)" ( (binary_expression "0xffffffff < lVar35" number_literal < identifier) )) (goto_statement "goto LAB_00225060;" goto statement_identifier ;)) (goto_statement "goto LAB_002252f8;" goto statement_identifier ;) })) (expression_statement "dVar30 = dVar30 - in_f22_23;" (assignment_expression "dVar30 = dVar30 - in_f22_23" identifier = (binary_expression "dVar30 - in_f22_23" identifier - identifier)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) (expression_statement "dVar30 = 0.0;" (assignment_expression "dVar30 = 0.0" identifier = number_literal) ;) (expression_statement "dVar32 = dVar30;" (assignment_expression "dVar32 = dVar30" identifier = identifier) ;) (if_statement "if (local_1158 != (undefined *)0x0) {\nLAB_002249dc:\n    dVar30 = (double)(*(code *)PTR___floatdidf_003a8a60)(local_1120,local_111c);\n    dVar32 = dVar30;\n  }" if (parenthesized_expression "(local_1158 != (undefined *)0x0)" ( (binary_expression "local_1158 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_002249dc:\n    dVar30 = (double)(*(code *)PTR___floatdidf_003a8a60)(local_1120,local_111c);\n    dVar32 = dVar30;\n  }" { (labeled_statement "LAB_002249dc:\n    dVar30 = (double)(*(code *)PTR___floatdidf_003a8a60)(local_1120,local_111c);" statement_identifier : (expression_statement "dVar30 = (double)(*(code *)PTR___floatdidf_003a8a60)(local_1120,local_111c);" (assignment_expression "dVar30 = (double)(*(code *)PTR___floatdidf_003a8a60)(local_1120,local_111c)" identifier = (cast_expression "(double)(*(code *)PTR___floatdidf_003a8a60)(local_1120,local_111c)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR___floatdidf_003a8a60)(local_1120,local_111c)" (parenthesized_expression "(*(code *)PTR___floatdidf_003a8a60)" ( (pointer_expression "*(code *)PTR___floatdidf_003a8a60" * (cast_expression "(code *)PTR___floatdidf_003a8a60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_1120,local_111c)" ( identifier , identifier ))))) ;)) (expression_statement "dVar32 = dVar30;" (assignment_expression "dVar32 = dVar30" identifier = identifier) ;) })) (goto_statement "goto LAB_002249f4;" goto statement_identifier ;) (labeled_statement "LAB_00225060:\n  iVar8 = 0;" statement_identifier : (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;)) (expression_statement "uVar26 = 1;" (assignment_expression "uVar26 = 1" identifier = number_literal) ;) (expression_statement "dVar32 = dVar30;" (assignment_expression "dVar32 = dVar30" identifier = identifier) ;) (expression_statement "dVar33 = dVar30;" (assignment_expression "dVar33 = dVar30" identifier = identifier) ;) (do_statement "do {\n    uVar16 = *(uint *)(iVar7 + 0x20) >> 3;\n    if (uVar16 == 2) {\n      sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);\n      dVar30 = (double)(int)sVar18;\n    }\n    else if (uVar16 == 4) {\n      fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n      dVar30 = (double)fVar31;\n    }\n    else if (uVar16 == 1) {\n      iVar12 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n      dVar30 = (double)iVar12;\n    }\n    else {\n      dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n    }\n    dVar5 = dVar30;\n    if (dVar33 <= dVar30) {\n      dVar5 = fits_info.min_data;\n    }\n    fits_info.min_data = dVar5;\n    uVar16 = uVar26 + 1;\n    dVar33 = dVar30;\n    if (dVar30 <= dVar32) {\n      dVar30 = dVar32;\n      dVar33 = fits_info.max_data;\n    }\n    fits_info.max_data = dVar33;\n    iVar8 = (uint)(uVar16 < uVar26) + iVar8;\n    uVar26 = uVar16;\n    dVar32 = dVar30;\n    dVar33 = fits_info.min_data;\n    in_f22_23 = fits_info.min_data;\n  } while (lVar35 != CONCAT44(iVar8,uVar16));" do (compound_statement "{\n    uVar16 = *(uint *)(iVar7 + 0x20) >> 3;\n    if (uVar16 == 2) {\n      sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);\n      dVar30 = (double)(int)sVar18;\n    }\n    else if (uVar16 == 4) {\n      fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n      dVar30 = (double)fVar31;\n    }\n    else if (uVar16 == 1) {\n      iVar12 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n      dVar30 = (double)iVar12;\n    }\n    else {\n      dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n    }\n    dVar5 = dVar30;\n    if (dVar33 <= dVar30) {\n      dVar5 = fits_info.min_data;\n    }\n    fits_info.min_data = dVar5;\n    uVar16 = uVar26 + 1;\n    dVar33 = dVar30;\n    if (dVar30 <= dVar32) {\n      dVar30 = dVar32;\n      dVar33 = fits_info.max_data;\n    }\n    fits_info.max_data = dVar33;\n    iVar8 = (uint)(uVar16 < uVar26) + iVar8;\n    uVar26 = uVar16;\n    dVar32 = dVar30;\n    dVar33 = fits_info.min_data;\n    in_f22_23 = fits_info.min_data;\n  }" { (expression_statement "uVar16 = *(uint *)(iVar7 + 0x20) >> 3;" (assignment_expression "uVar16 = *(uint *)(iVar7 + 0x20) >> 3" identifier = (binary_expression "*(uint *)(iVar7 + 0x20) >> 3" (pointer_expression "*(uint *)(iVar7 + 0x20)" * (cast_expression "(uint *)(iVar7 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20)" ( (binary_expression "iVar7 + 0x20" identifier + number_literal) )))) >> number_literal)) ;) (if_statement "if (uVar16 == 2) {\n      sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);\n      dVar30 = (double)(int)sVar18;\n    }\n    else if (uVar16 == 4) {\n      fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n      dVar30 = (double)fVar31;\n    }\n    else if (uVar16 == 1) {\n      iVar12 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n      dVar30 = (double)iVar12;\n    }\n    else {\n      dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n    }" if (parenthesized_expression "(uVar16 == 2)" ( (binary_expression "uVar16 == 2" identifier == number_literal) )) (compound_statement "{\n      sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);\n      dVar30 = (double)(int)sVar18;\n    }" { (expression_statement "sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7);" (assignment_expression "sVar18 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar7)" identifier = (call_expression "(*(code *)PTR_ReadBlobShort_003a8d80)(iVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobShort_003a8d80)" ( (pointer_expression "*(code *)PTR_ReadBlobShort_003a8d80" * (cast_expression "(code *)PTR_ReadBlobShort_003a8d80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier )))) ;) (expression_statement "dVar30 = (double)(int)sVar18;" (assignment_expression "dVar30 = (double)(int)sVar18" identifier = (cast_expression "(double)(int)sVar18" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)sVar18" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else if (uVar16 == 4) {\n      fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n      dVar30 = (double)fVar31;\n    }\n    else if (uVar16 == 1) {\n      iVar12 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n      dVar30 = (double)iVar12;\n    }\n    else {\n      dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n    }" else (if_statement "if (uVar16 == 4) {\n      fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n      dVar30 = (double)fVar31;\n    }\n    else if (uVar16 == 1) {\n      iVar12 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n      dVar30 = (double)iVar12;\n    }\n    else {\n      dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n    }" if (parenthesized_expression "(uVar16 == 4)" ( (binary_expression "uVar16 == 4" identifier == number_literal) )) (compound_statement "{\n      fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);\n      dVar30 = (double)fVar31;\n    }" { (expression_statement "fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7);" (assignment_expression "fVar31 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7)" identifier = (cast_expression "(float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7)" ( (type_descriptor "float" primitive_type) ) (call_expression "(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobFloat_003a8e98)" ( (pointer_expression "*(code *)PTR_ReadBlobFloat_003a8e98" * (cast_expression "(code *)PTR_ReadBlobFloat_003a8e98" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier ))))) ;) (expression_statement "dVar30 = (double)fVar31;" (assignment_expression "dVar30 = (double)fVar31" identifier = (cast_expression "(double)fVar31" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else if (uVar16 == 1) {\n      iVar12 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n      dVar30 = (double)iVar12;\n    }\n    else {\n      dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n    }" else (if_statement "if (uVar16 == 1) {\n      iVar12 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n      dVar30 = (double)iVar12;\n    }\n    else {\n      dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n    }" if (parenthesized_expression "(uVar16 == 1)" ( (binary_expression "uVar16 == 1" identifier == number_literal) )) (compound_statement "{\n      iVar12 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);\n      dVar30 = (double)iVar12;\n    }" { (expression_statement "iVar12 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7);" (assignment_expression "iVar12 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar7)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(iVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier )))) ;) (expression_statement "dVar30 = (double)iVar12;" (assignment_expression "dVar30 = (double)iVar12" identifier = (cast_expression "(double)iVar12" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else {\n      dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n    }" else (compound_statement "{\n      dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);\n    }" { (expression_statement "dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7);" (assignment_expression "dVar30 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7)" identifier = (cast_expression "(double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobDouble_003a8c38)" ( (pointer_expression "*(code *)PTR_ReadBlobDouble_003a8c38" * (cast_expression "(code *)PTR_ReadBlobDouble_003a8c38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier ))))) ;) }))))))) (expression_statement "dVar5 = dVar30;" (assignment_expression "dVar5 = dVar30" identifier = identifier) ;) (if_statement "if (dVar33 <= dVar30) {\n      dVar5 = fits_info.min_data;\n    }" if (parenthesized_expression "(dVar33 <= dVar30)" ( (binary_expression "dVar33 <= dVar30" identifier <= identifier) )) (compound_statement "{\n      dVar5 = fits_info.min_data;\n    }" { (expression_statement "dVar5 = fits_info.min_data;" (assignment_expression "dVar5 = fits_info.min_data" identifier = (field_expression "fits_info.min_data" identifier . field_identifier)) ;) })) (expression_statement "fits_info.min_data = dVar5;" (assignment_expression "fits_info.min_data = dVar5" (field_expression "fits_info.min_data" identifier . field_identifier) = identifier) ;) (expression_statement "uVar16 = uVar26 + 1;" (assignment_expression "uVar16 = uVar26 + 1" identifier = (binary_expression "uVar26 + 1" identifier + number_literal)) ;) (expression_statement "dVar33 = dVar30;" (assignment_expression "dVar33 = dVar30" identifier = identifier) ;) (if_statement "if (dVar30 <= dVar32) {\n      dVar30 = dVar32;\n      dVar33 = fits_info.max_data;\n    }" if (parenthesized_expression "(dVar30 <= dVar32)" ( (binary_expression "dVar30 <= dVar32" identifier <= identifier) )) (compound_statement "{\n      dVar30 = dVar32;\n      dVar33 = fits_info.max_data;\n    }" { (expression_statement "dVar30 = dVar32;" (assignment_expression "dVar30 = dVar32" identifier = identifier) ;) (expression_statement "dVar33 = fits_info.max_data;" (assignment_expression "dVar33 = fits_info.max_data" identifier = (field_expression "fits_info.max_data" identifier . field_identifier)) ;) })) (expression_statement "fits_info.max_data = dVar33;" (assignment_expression "fits_info.max_data = dVar33" (field_expression "fits_info.max_data" identifier . field_identifier) = identifier) ;) (expression_statement "iVar8 = (uint)(uVar16 < uVar26) + iVar8;" (assignment_expression "iVar8 = (uint)(uVar16 < uVar26) + iVar8" identifier = (binary_expression "(uint)(uVar16 < uVar26) + iVar8" (call_expression "(uint)(uVar16 < uVar26)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 < uVar26)" ( (binary_expression "uVar16 < uVar26" identifier < identifier) ))) + identifier)) ;) (expression_statement "uVar26 = uVar16;" (assignment_expression "uVar26 = uVar16" identifier = identifier) ;) (expression_statement "dVar32 = dVar30;" (assignment_expression "dVar32 = dVar30" identifier = identifier) ;) (expression_statement "dVar33 = fits_info.min_data;" (assignment_expression "dVar33 = fits_info.min_data" identifier = (field_expression "fits_info.min_data" identifier . field_identifier)) ;) (expression_statement "in_f22_23 = fits_info.min_data;" (assignment_expression "in_f22_23 = fits_info.min_data" identifier = (field_expression "fits_info.min_data" identifier . field_identifier)) ;) }) while (parenthesized_expression "(lVar35 != CONCAT44(iVar8,uVar16))" ( (binary_expression "lVar35 != CONCAT44(iVar8,uVar16)" identifier != (call_expression "CONCAT44(iVar8,uVar16)" identifier (argument_list "(iVar8,uVar16)" ( identifier , identifier )))) )) ;) (goto_statement "goto LAB_0022511c;" goto statement_identifier ;) })))
(translation_unit "undefined4 FUN_0022407c(int param_1,int param_2)\n\n{\n  bool bVar1;\n  ulonglong uVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  double dVar5;\n  int iVar6;\n  int iVar7;\n  undefined1 *puVar8;\n  int *piVar9;\n  byte bVar16;\n  int iVar10;\n  uint uVar11;\n  int iVar12;\n  uint uVar13;\n  short sVar15;\n  undefined4 *puVar14;\n  undefined *puVar17;\n  float *pfVar18;\n  double *pdVar19;\n  undefined4 uVar20;\n  byte *pbVar21;\n  uint uVar22;\n  undefined4 unaff_s3;\n  undefined *puVar23;\n  undefined4 unaff_s5;\n  undefined *puVar24;\n  code *pcVar25;\n  double dVar26;\n  float fVar27;\n  double dVar28;\n  double in_f22_23;\n  double dVar29;\n  double in_f28_29;\n  double in_f30_31;\n  undefined8 uVar30;\n  longlong lVar31;\n  undefined8 uVar32;\n  longlong lVar33;\n  undefined8 local_1160;\n  undefined1 *local_1158;\n  undefined *local_1154;\n  int local_114c;\n  int local_1148;\n  int local_1144;\n  uint local_1140;\n  undefined *local_1138;\n  undefined *local_1134;\n  undefined *local_112c;\n  int local_1128;\n  undefined4 local_1124;\n  int local_1120;\n  uint local_111c;\n  double local_1118;\n  undefined1 local_110c [4];\n  double local_1108;\n  uint local_1100;\n  uint local_10fc;\n  undefined1 *local_10f8;\n  int local_10f4;\n  int local_10f0;\n  int local_10ec;\n  undefined *local_10e8;\n  double local_10e0;\n  double local_10d8;\n  double local_10d0;\n  double local_10c8;\n  undefined4 local_10c0;\n  byte local_10b4 [12];\n  byte local_10a8 [2];\n  byte local_10a6 [70];\n  undefined1 local_1060;\n  undefined1 auStack_105c [4096];\n  int local_5c;\n  \n  puVar4 = PTR___stack_chk_guard_003a9230;\n  lVar31 = CONCAT44(unaff_s3,unaff_s5);\n  local_5c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  if (*(int *)(param_1 + 0x3210) != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);\n  }\n  if (param_2 == 0) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  iVar6 = (*(code *)PTR_AcquireImage_003a960c)(param_1,param_2);\n  local_114c = (*(code *)PTR_OpenBlob_003a924c)(param_1,iVar6,2,param_2);\n  puVar3 = PTR_UINT_003a8950;\n  puVar17 = PTR_LAB_003a88e0;\n  if (local_114c == 0) {\n    (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    uVar20 = 0;\n    dVar26 = in_f22_23;\n  }\n  else {\n    local_1158 = PTR_UINT_003a8950;\n    local_1134 = PTR_LAB_003a88e0;\n    local_1154 = PTR_UINT_003a8950;\n    (*(code *)PTR_memset_003a96d4)(&local_1100,0,0x48);\n    local_10c8 = *(double *)(puVar17 + 0x1438);\n    local_10f8 = &DAT_00000008;\n    local_10f4 = 1;\n    local_10f0 = 1;\n    local_10e8 = (undefined *)0x1;\n    puVar17 = PTR_UINT_003a8950 + -0xe20;\n    puVar23 = PTR_s_t_to_left_003a88e4 + 0x544;\n    local_10c0 = 2;\n    puVar24 = PTR_UINT_003a8950 + -0xe30;\n    local_1160 = CONCAT44(puVar17,local_1160._4_4_);\n    local_110c = (undefined1  [4])0x0;\n    puVar8 = PTR_UINT_003a8950;\n    do {\n      iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      if (iVar7 != 0) {\nLAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;\n        uVar22 = local_10fc;\n        iVar7 = local_10f4;\n        iVar10 = local_10f0;\n        break;\n      }\n      puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      while (puVar8 == (undefined1 *)0x0) {\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);\n        if (iVar7 != 8) break;\n        piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar21 = local_10b4;\n        do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);\n        pbVar21 = local_10a8;\n        local_10b4[(int)puVar8] = 0;\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);\n        local_1060 = 0;\n        if (iVar7 != 0x48) break;\n        if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);\n        if (iVar7 == 0) break;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);\n        if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);\n        if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);\n        if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);\n        if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);\n        if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);\n        if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);\n        if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);\n        if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);\n        if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);\n        puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      }\n      iVar7 = 0;\n      while( true ) {\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);\n        if ((lVar31 == 0) || (iVar7 == -1)) break;\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      }\n      if (local_1100 == 0) goto LAB_00224bd4;\n      if (local_10f8 + -8 < &DAT_00000019) {\n        if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;\n      }\n      else if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }\n    } while (((local_10fc == 0) || (3 < local_10ec - 1U)) ||\n            (lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0));\n    local_1144 = iVar10;\n    local_1148 = iVar7;\n    local_10fc = uVar22;\n    local_10f4 = local_1148;\n    local_10f0 = local_1144;\n    if (local_110c != (undefined1  [4])0x0) {\n      (*(code *)PTR_SetImageProperty_003a9534)\n                (iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)\n      ;\n      local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c);\n    }\n    iVar7 = (int)lVar33;\n    lVar31 = CONCAT44(iVar7,puVar8);\n    iVar10 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n    if (iVar10 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\n    }\n    if (((uVar22 != 0) && (local_10ec - 1U < 4)) && (lVar33 != 0)) {\n      local_1138 = local_10e8;\n      if (0 < (int)local_10e8) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = local_10f8;\n        local_1124 = local_10c0;\n        puVar8 = local_10f8;\n        if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }\n        iVar7 = -1;\n        if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }\n        puVar8 = puVar8 + -1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar11 = 2 << ((uint)puVar8 & 0x1f);\n        local_1128 = iVar7 * (int)local_10f8;\n        uVar13 = uVar11;\n        uVar22 = 1 >> (~(uint)puVar8 & 0x1f);\n        if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar13 - 1;\n        local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);\n        goto LAB_00224900;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224e60;\n    }\n    uVar20 = 0x1a5;\n    puVar17 = PTR_UINT_003a8950 + -0x2c10;\nLAB_00224c3c:\n    lVar31 = CONCAT44(iVar7,puVar8);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar20,0x1a9,puVar17,\n               PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x2210);\n    if (iVar6 != 0) {\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    }\n    uVar20 = 0;\n    dVar26 = in_f22_23;\n  }\nLAB_00224c7c:\n  uVar2 = (ulonglong)lVar31 >> 0x20;\n  if (local_5c == *(int *)puVar4) {\n    return uVar20;\n  }\n  uVar20 = (*(code *)PTR___stack_chk_fail_003a9064)();\n  lVar31 = CONCAT44(uVar20,(int)lVar31);\n  uVar20 = (int)uVar2;\nLAB_002252f8:\n  uVar2 = (ulonglong)lVar31 >> 0x20;\n  lVar31 = CONCAT44(uVar20,(int)lVar31);\n  in_f22_23 = dVar26;\n  if (((int)uVar2 == 0) && (bVar1 = 1 < local_1160._4_4_, bVar1)) goto LAB_00225060;\nLAB_0022511c:\n  (*(code *)PTR_SeekBlob_003a9328)(iVar6);\n  dVar28 = local_10d8;\nLAB_002249f4:\n  local_10d8 = dVar28;\n  dVar26 = dVar26 - in_f22_23;\n  do {\n    iVar7 = (int)((ulonglong)lVar31 >> 0x20);\n    local_1140 = (uint)((ulonglong)dVar26 >> 0x20);\n    if (0.0 <= dVar26) {\n      dVar28 = *(double *)(local_1134 + 0x1438);\n    }\n    else {\n      local_1140 = local_1140 ^ 0x80000000;\n      dVar28 = local_1118;\n    }\n    if (in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar26,0))) {\n      dVar28 = *(double *)(local_1134 + 0x1438) / dVar26;\n    }\n    else {\n      dVar28 = dVar28 / in_f28_29;\n    }\n    uVar22 = *(int *)(iVar6 + 0x1c) - 1;\n    dVar28 = dVar28 * in_f30_31;\n    if (-1 < (int)uVar22) {\n      local_1160 = CONCAT44((int)uVar22 >> 0x1f,local_1160._4_4_);\n      uVar13 = uVar22;\n      while( true ) {\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2);\n        if (iVar10 == 0) break;\n        if (0 < *(int *)(iVar6 + 0x18)) {\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2);\n        if ((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))) break;\n        uVar22 = uVar22 - 1;\n        iVar7 = local_1160._0_4_ + -1;\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_);\n        uVar13 = uVar13 - 1;\n        if (uVar22 == 0xffffffff) break;\n      }\n    }\n    iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n    if (iVar7 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\nLAB_00224e4c:\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      if (local_114c == 0) {\nLAB_00224fc0:\n        uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      else {\nLAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      goto LAB_00224c7c;\n    }\n    if ((*(int *)(param_1 + 0x2c) != 0) &&\n       ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= *(uint *)(iVar6 + 0x26c)))\n    goto LAB_00224e4c;\n    if ((int)local_1154 < (int)(local_1138 + -1)) {\n      (*(code *)PTR_AcquireNextImage_003a8f90)(param_1,iVar6,param_2);\n      iVar7 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar6);\n      if (iVar7 != 0) {\n        iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6);\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32);\n        if (local_114c != 0) goto LAB_00224e34;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224fc0;\n    }\nLAB_00224e34:\n    local_1154 = local_1154 + 1;\n    if (local_1154 == local_1138) goto LAB_00224e4c;\nLAB_00224900:\n    iVar7 = *(int *)(param_1 + 0x1dc);\n    *(int *)(iVar6 + 0x18) = local_1148;\n    *(int *)(iVar6 + 0x1c) = local_1144;\n    *(int *)(iVar6 + 0x20) = local_1128;\n    *(undefined4 *)(iVar6 + 0x25c) = local_1124;\n    *(undefined **)(iVar6 + 0x26c) = local_1154;\n    if (((iVar7 != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n       ((undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1) <= local_1154))\n    goto LAB_00224e4c;\n    local_114c = (*(code *)PTR_SetImageExtent_003a94ac)(iVar6,local_1148,local_1144,param_2);\n    if (local_114c == 0) goto LAB_00224fc0;\n    (*(code *)PTR_SetImageColorspace_003a8d40)(iVar6,3,param_2);\n    in_f22_23 = local_10e0;\n    if ((local_10e0 != 0.0) || (local_10d8 != 0.0)) {\n      if (local_1158 != (undefined1 *)0x0) goto LAB_002249dc;\n      dVar26 = 0.0;\n      dVar28 = dVar26;\n      goto LAB_002249f4;\n    }\n    if (((uint)local_1158 & 0xffffffdf) != 0xffffffc0) break;\n    dVar26 = local_10d8;\n    lVar33 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n    if (lVar33 != -1) {\n      lVar31 = (ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)*(uint *)(iVar6 + 0x1c);\n      uVar22 = *(uint *)(iVar6 + 0x20) >> 3;\n      if (uVar22 == 2) {\n        sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n        dVar26 = (double)(int)sVar15;\n      }\n      else if (uVar22 == 4) {\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }\n      else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }\n      local_1160._0_4_ = (int)((ulonglong)lVar31 >> 0x20);\n      uVar20 = local_1160._0_4_;\n      local_1160 = lVar31;\n      local_10e0 = dVar26;\n      local_10d8 = dVar26;\n      if (0xffffffff < lVar31) goto LAB_00225060;\n      goto LAB_002252f8;\n    }\n    dVar26 = dVar26 - in_f22_23;\n  } while( true );\n  dVar26 = 0.0;\n  dVar28 = dVar26;\n  if (local_1158 != (undefined1 *)0x0) {\nLAB_002249dc:\n    dVar26 = (double)(*(code *)PTR_FUN_003a8a60)(local_1120,local_111c);\n    dVar28 = dVar26;\n  }\n  goto LAB_002249f4;\nLAB_00225060:\n  iVar7 = 0;\n  uVar22 = 1;\n  dVar28 = dVar26;\n  dVar29 = dVar26;\n  do {\n    uVar13 = *(uint *)(iVar6 + 0x20) >> 3;\n    if (uVar13 == 2) {\n      sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n      dVar26 = (double)(int)sVar15;\n    }\n    else if (uVar13 == 4) {\n      fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n      dVar26 = (double)fVar27;\n    }\n    else if (uVar13 == 1) {\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }\n    else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }\n    dVar5 = dVar26;\n    if (dVar29 <= dVar26) {\n      dVar5 = local_10e0;\n    }\n    local_10e0 = dVar5;\n    uVar13 = uVar22 + 1;\n    dVar29 = dVar26;\n    if (dVar26 <= dVar28) {\n      dVar26 = dVar28;\n      dVar29 = local_10d8;\n    }\n    local_10d8 = dVar29;\n    iVar7 = (uint)(uVar13 < uVar22) + iVar7;\n    uVar22 = uVar13;\n    dVar28 = dVar26;\n    dVar29 = local_10e0;\n    in_f22_23 = local_10e0;\n  } while (lVar31 != CONCAT44(iVar7,uVar13));\n  goto LAB_0022511c;\n}\n\n" (function_definition "undefined4 FUN_0022407c(int param_1,int param_2)\n\n{\n  bool bVar1;\n  ulonglong uVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  double dVar5;\n  int iVar6;\n  int iVar7;\n  undefined1 *puVar8;\n  int *piVar9;\n  byte bVar16;\n  int iVar10;\n  uint uVar11;\n  int iVar12;\n  uint uVar13;\n  short sVar15;\n  undefined4 *puVar14;\n  undefined *puVar17;\n  float *pfVar18;\n  double *pdVar19;\n  undefined4 uVar20;\n  byte *pbVar21;\n  uint uVar22;\n  undefined4 unaff_s3;\n  undefined *puVar23;\n  undefined4 unaff_s5;\n  undefined *puVar24;\n  code *pcVar25;\n  double dVar26;\n  float fVar27;\n  double dVar28;\n  double in_f22_23;\n  double dVar29;\n  double in_f28_29;\n  double in_f30_31;\n  undefined8 uVar30;\n  longlong lVar31;\n  undefined8 uVar32;\n  longlong lVar33;\n  undefined8 local_1160;\n  undefined1 *local_1158;\n  undefined *local_1154;\n  int local_114c;\n  int local_1148;\n  int local_1144;\n  uint local_1140;\n  undefined *local_1138;\n  undefined *local_1134;\n  undefined *local_112c;\n  int local_1128;\n  undefined4 local_1124;\n  int local_1120;\n  uint local_111c;\n  double local_1118;\n  undefined1 local_110c [4];\n  double local_1108;\n  uint local_1100;\n  uint local_10fc;\n  undefined1 *local_10f8;\n  int local_10f4;\n  int local_10f0;\n  int local_10ec;\n  undefined *local_10e8;\n  double local_10e0;\n  double local_10d8;\n  double local_10d0;\n  double local_10c8;\n  undefined4 local_10c0;\n  byte local_10b4 [12];\n  byte local_10a8 [2];\n  byte local_10a6 [70];\n  undefined1 local_1060;\n  undefined1 auStack_105c [4096];\n  int local_5c;\n  \n  puVar4 = PTR___stack_chk_guard_003a9230;\n  lVar31 = CONCAT44(unaff_s3,unaff_s5);\n  local_5c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  if (*(int *)(param_1 + 0x3210) != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);\n  }\n  if (param_2 == 0) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  iVar6 = (*(code *)PTR_AcquireImage_003a960c)(param_1,param_2);\n  local_114c = (*(code *)PTR_OpenBlob_003a924c)(param_1,iVar6,2,param_2);\n  puVar3 = PTR_UINT_003a8950;\n  puVar17 = PTR_LAB_003a88e0;\n  if (local_114c == 0) {\n    (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    uVar20 = 0;\n    dVar26 = in_f22_23;\n  }\n  else {\n    local_1158 = PTR_UINT_003a8950;\n    local_1134 = PTR_LAB_003a88e0;\n    local_1154 = PTR_UINT_003a8950;\n    (*(code *)PTR_memset_003a96d4)(&local_1100,0,0x48);\n    local_10c8 = *(double *)(puVar17 + 0x1438);\n    local_10f8 = &DAT_00000008;\n    local_10f4 = 1;\n    local_10f0 = 1;\n    local_10e8 = (undefined *)0x1;\n    puVar17 = PTR_UINT_003a8950 + -0xe20;\n    puVar23 = PTR_s_t_to_left_003a88e4 + 0x544;\n    local_10c0 = 2;\n    puVar24 = PTR_UINT_003a8950 + -0xe30;\n    local_1160 = CONCAT44(puVar17,local_1160._4_4_);\n    local_110c = (undefined1  [4])0x0;\n    puVar8 = PTR_UINT_003a8950;\n    do {\n      iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      if (iVar7 != 0) {\nLAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;\n        uVar22 = local_10fc;\n        iVar7 = local_10f4;\n        iVar10 = local_10f0;\n        break;\n      }\n      puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      while (puVar8 == (undefined1 *)0x0) {\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);\n        if (iVar7 != 8) break;\n        piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar21 = local_10b4;\n        do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);\n        pbVar21 = local_10a8;\n        local_10b4[(int)puVar8] = 0;\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);\n        local_1060 = 0;\n        if (iVar7 != 0x48) break;\n        if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);\n        if (iVar7 == 0) break;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);\n        if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);\n        if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);\n        if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);\n        if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);\n        if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);\n        if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);\n        if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);\n        if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);\n        if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);\n        puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      }\n      iVar7 = 0;\n      while( true ) {\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);\n        if ((lVar31 == 0) || (iVar7 == -1)) break;\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      }\n      if (local_1100 == 0) goto LAB_00224bd4;\n      if (local_10f8 + -8 < &DAT_00000019) {\n        if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;\n      }\n      else if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }\n    } while (((local_10fc == 0) || (3 < local_10ec - 1U)) ||\n            (lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0));\n    local_1144 = iVar10;\n    local_1148 = iVar7;\n    local_10fc = uVar22;\n    local_10f4 = local_1148;\n    local_10f0 = local_1144;\n    if (local_110c != (undefined1  [4])0x0) {\n      (*(code *)PTR_SetImageProperty_003a9534)\n                (iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)\n      ;\n      local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c);\n    }\n    iVar7 = (int)lVar33;\n    lVar31 = CONCAT44(iVar7,puVar8);\n    iVar10 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n    if (iVar10 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\n    }\n    if (((uVar22 != 0) && (local_10ec - 1U < 4)) && (lVar33 != 0)) {\n      local_1138 = local_10e8;\n      if (0 < (int)local_10e8) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = local_10f8;\n        local_1124 = local_10c0;\n        puVar8 = local_10f8;\n        if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }\n        iVar7 = -1;\n        if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }\n        puVar8 = puVar8 + -1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar11 = 2 << ((uint)puVar8 & 0x1f);\n        local_1128 = iVar7 * (int)local_10f8;\n        uVar13 = uVar11;\n        uVar22 = 1 >> (~(uint)puVar8 & 0x1f);\n        if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar13 - 1;\n        local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);\n        goto LAB_00224900;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224e60;\n    }\n    uVar20 = 0x1a5;\n    puVar17 = PTR_UINT_003a8950 + -0x2c10;\nLAB_00224c3c:\n    lVar31 = CONCAT44(iVar7,puVar8);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar20,0x1a9,puVar17,\n               PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x2210);\n    if (iVar6 != 0) {\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    }\n    uVar20 = 0;\n    dVar26 = in_f22_23;\n  }\nLAB_00224c7c:\n  uVar2 = (ulonglong)lVar31 >> 0x20;\n  if (local_5c == *(int *)puVar4) {\n    return uVar20;\n  }\n  uVar20 = (*(code *)PTR___stack_chk_fail_003a9064)();\n  lVar31 = CONCAT44(uVar20,(int)lVar31);\n  uVar20 = (int)uVar2;\nLAB_002252f8:\n  uVar2 = (ulonglong)lVar31 >> 0x20;\n  lVar31 = CONCAT44(uVar20,(int)lVar31);\n  in_f22_23 = dVar26;\n  if (((int)uVar2 == 0) && (bVar1 = 1 < local_1160._4_4_, bVar1)) goto LAB_00225060;\nLAB_0022511c:\n  (*(code *)PTR_SeekBlob_003a9328)(iVar6);\n  dVar28 = local_10d8;\nLAB_002249f4:\n  local_10d8 = dVar28;\n  dVar26 = dVar26 - in_f22_23;\n  do {\n    iVar7 = (int)((ulonglong)lVar31 >> 0x20);\n    local_1140 = (uint)((ulonglong)dVar26 >> 0x20);\n    if (0.0 <= dVar26) {\n      dVar28 = *(double *)(local_1134 + 0x1438);\n    }\n    else {\n      local_1140 = local_1140 ^ 0x80000000;\n      dVar28 = local_1118;\n    }\n    if (in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar26,0))) {\n      dVar28 = *(double *)(local_1134 + 0x1438) / dVar26;\n    }\n    else {\n      dVar28 = dVar28 / in_f28_29;\n    }\n    uVar22 = *(int *)(iVar6 + 0x1c) - 1;\n    dVar28 = dVar28 * in_f30_31;\n    if (-1 < (int)uVar22) {\n      local_1160 = CONCAT44((int)uVar22 >> 0x1f,local_1160._4_4_);\n      uVar13 = uVar22;\n      while( true ) {\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2);\n        if (iVar10 == 0) break;\n        if (0 < *(int *)(iVar6 + 0x18)) {\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2);\n        if ((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))) break;\n        uVar22 = uVar22 - 1;\n        iVar7 = local_1160._0_4_ + -1;\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_);\n        uVar13 = uVar13 - 1;\n        if (uVar22 == 0xffffffff) break;\n      }\n    }\n    iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n    if (iVar7 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\nLAB_00224e4c:\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      if (local_114c == 0) {\nLAB_00224fc0:\n        uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      else {\nLAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      goto LAB_00224c7c;\n    }\n    if ((*(int *)(param_1 + 0x2c) != 0) &&\n       ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= *(uint *)(iVar6 + 0x26c)))\n    goto LAB_00224e4c;\n    if ((int)local_1154 < (int)(local_1138 + -1)) {\n      (*(code *)PTR_AcquireNextImage_003a8f90)(param_1,iVar6,param_2);\n      iVar7 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar6);\n      if (iVar7 != 0) {\n        iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6);\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32);\n        if (local_114c != 0) goto LAB_00224e34;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224fc0;\n    }\nLAB_00224e34:\n    local_1154 = local_1154 + 1;\n    if (local_1154 == local_1138) goto LAB_00224e4c;\nLAB_00224900:\n    iVar7 = *(int *)(param_1 + 0x1dc);\n    *(int *)(iVar6 + 0x18) = local_1148;\n    *(int *)(iVar6 + 0x1c) = local_1144;\n    *(int *)(iVar6 + 0x20) = local_1128;\n    *(undefined4 *)(iVar6 + 0x25c) = local_1124;\n    *(undefined **)(iVar6 + 0x26c) = local_1154;\n    if (((iVar7 != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n       ((undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1) <= local_1154))\n    goto LAB_00224e4c;\n    local_114c = (*(code *)PTR_SetImageExtent_003a94ac)(iVar6,local_1148,local_1144,param_2);\n    if (local_114c == 0) goto LAB_00224fc0;\n    (*(code *)PTR_SetImageColorspace_003a8d40)(iVar6,3,param_2);\n    in_f22_23 = local_10e0;\n    if ((local_10e0 != 0.0) || (local_10d8 != 0.0)) {\n      if (local_1158 != (undefined1 *)0x0) goto LAB_002249dc;\n      dVar26 = 0.0;\n      dVar28 = dVar26;\n      goto LAB_002249f4;\n    }\n    if (((uint)local_1158 & 0xffffffdf) != 0xffffffc0) break;\n    dVar26 = local_10d8;\n    lVar33 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n    if (lVar33 != -1) {\n      lVar31 = (ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)*(uint *)(iVar6 + 0x1c);\n      uVar22 = *(uint *)(iVar6 + 0x20) >> 3;\n      if (uVar22 == 2) {\n        sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n        dVar26 = (double)(int)sVar15;\n      }\n      else if (uVar22 == 4) {\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }\n      else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }\n      local_1160._0_4_ = (int)((ulonglong)lVar31 >> 0x20);\n      uVar20 = local_1160._0_4_;\n      local_1160 = lVar31;\n      local_10e0 = dVar26;\n      local_10d8 = dVar26;\n      if (0xffffffff < lVar31) goto LAB_00225060;\n      goto LAB_002252f8;\n    }\n    dVar26 = dVar26 - in_f22_23;\n  } while( true );\n  dVar26 = 0.0;\n  dVar28 = dVar26;\n  if (local_1158 != (undefined1 *)0x0) {\nLAB_002249dc:\n    dVar26 = (double)(*(code *)PTR_FUN_003a8a60)(local_1120,local_111c);\n    dVar28 = dVar26;\n  }\n  goto LAB_002249f4;\nLAB_00225060:\n  iVar7 = 0;\n  uVar22 = 1;\n  dVar28 = dVar26;\n  dVar29 = dVar26;\n  do {\n    uVar13 = *(uint *)(iVar6 + 0x20) >> 3;\n    if (uVar13 == 2) {\n      sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n      dVar26 = (double)(int)sVar15;\n    }\n    else if (uVar13 == 4) {\n      fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n      dVar26 = (double)fVar27;\n    }\n    else if (uVar13 == 1) {\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }\n    else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }\n    dVar5 = dVar26;\n    if (dVar29 <= dVar26) {\n      dVar5 = local_10e0;\n    }\n    local_10e0 = dVar5;\n    uVar13 = uVar22 + 1;\n    dVar29 = dVar26;\n    if (dVar26 <= dVar28) {\n      dVar26 = dVar28;\n      dVar29 = local_10d8;\n    }\n    local_10d8 = dVar29;\n    iVar7 = (uint)(uVar13 < uVar22) + iVar7;\n    uVar22 = uVar13;\n    dVar28 = dVar26;\n    dVar29 = local_10e0;\n    in_f22_23 = local_10e0;\n  } while (lVar31 != CONCAT44(iVar7,uVar13));\n  goto LAB_0022511c;\n}" type_identifier (function_declarator "FUN_0022407c(int param_1,int param_2)" identifier (parameter_list "(int param_1,int param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  bool bVar1;\n  ulonglong uVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  double dVar5;\n  int iVar6;\n  int iVar7;\n  undefined1 *puVar8;\n  int *piVar9;\n  byte bVar16;\n  int iVar10;\n  uint uVar11;\n  int iVar12;\n  uint uVar13;\n  short sVar15;\n  undefined4 *puVar14;\n  undefined *puVar17;\n  float *pfVar18;\n  double *pdVar19;\n  undefined4 uVar20;\n  byte *pbVar21;\n  uint uVar22;\n  undefined4 unaff_s3;\n  undefined *puVar23;\n  undefined4 unaff_s5;\n  undefined *puVar24;\n  code *pcVar25;\n  double dVar26;\n  float fVar27;\n  double dVar28;\n  double in_f22_23;\n  double dVar29;\n  double in_f28_29;\n  double in_f30_31;\n  undefined8 uVar30;\n  longlong lVar31;\n  undefined8 uVar32;\n  longlong lVar33;\n  undefined8 local_1160;\n  undefined1 *local_1158;\n  undefined *local_1154;\n  int local_114c;\n  int local_1148;\n  int local_1144;\n  uint local_1140;\n  undefined *local_1138;\n  undefined *local_1134;\n  undefined *local_112c;\n  int local_1128;\n  undefined4 local_1124;\n  int local_1120;\n  uint local_111c;\n  double local_1118;\n  undefined1 local_110c [4];\n  double local_1108;\n  uint local_1100;\n  uint local_10fc;\n  undefined1 *local_10f8;\n  int local_10f4;\n  int local_10f0;\n  int local_10ec;\n  undefined *local_10e8;\n  double local_10e0;\n  double local_10d8;\n  double local_10d0;\n  double local_10c8;\n  undefined4 local_10c0;\n  byte local_10b4 [12];\n  byte local_10a8 [2];\n  byte local_10a6 [70];\n  undefined1 local_1060;\n  undefined1 auStack_105c [4096];\n  int local_5c;\n  \n  puVar4 = PTR___stack_chk_guard_003a9230;\n  lVar31 = CONCAT44(unaff_s3,unaff_s5);\n  local_5c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  if (*(int *)(param_1 + 0x3210) != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);\n  }\n  if (param_2 == 0) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  iVar6 = (*(code *)PTR_AcquireImage_003a960c)(param_1,param_2);\n  local_114c = (*(code *)PTR_OpenBlob_003a924c)(param_1,iVar6,2,param_2);\n  puVar3 = PTR_UINT_003a8950;\n  puVar17 = PTR_LAB_003a88e0;\n  if (local_114c == 0) {\n    (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    uVar20 = 0;\n    dVar26 = in_f22_23;\n  }\n  else {\n    local_1158 = PTR_UINT_003a8950;\n    local_1134 = PTR_LAB_003a88e0;\n    local_1154 = PTR_UINT_003a8950;\n    (*(code *)PTR_memset_003a96d4)(&local_1100,0,0x48);\n    local_10c8 = *(double *)(puVar17 + 0x1438);\n    local_10f8 = &DAT_00000008;\n    local_10f4 = 1;\n    local_10f0 = 1;\n    local_10e8 = (undefined *)0x1;\n    puVar17 = PTR_UINT_003a8950 + -0xe20;\n    puVar23 = PTR_s_t_to_left_003a88e4 + 0x544;\n    local_10c0 = 2;\n    puVar24 = PTR_UINT_003a8950 + -0xe30;\n    local_1160 = CONCAT44(puVar17,local_1160._4_4_);\n    local_110c = (undefined1  [4])0x0;\n    puVar8 = PTR_UINT_003a8950;\n    do {\n      iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      if (iVar7 != 0) {\nLAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;\n        uVar22 = local_10fc;\n        iVar7 = local_10f4;\n        iVar10 = local_10f0;\n        break;\n      }\n      puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      while (puVar8 == (undefined1 *)0x0) {\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);\n        if (iVar7 != 8) break;\n        piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar21 = local_10b4;\n        do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);\n        pbVar21 = local_10a8;\n        local_10b4[(int)puVar8] = 0;\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);\n        local_1060 = 0;\n        if (iVar7 != 0x48) break;\n        if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);\n        if (iVar7 == 0) break;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);\n        if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);\n        if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);\n        if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);\n        if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);\n        if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);\n        if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);\n        if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);\n        if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);\n        if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);\n        puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      }\n      iVar7 = 0;\n      while( true ) {\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);\n        if ((lVar31 == 0) || (iVar7 == -1)) break;\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      }\n      if (local_1100 == 0) goto LAB_00224bd4;\n      if (local_10f8 + -8 < &DAT_00000019) {\n        if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;\n      }\n      else if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }\n    } while (((local_10fc == 0) || (3 < local_10ec - 1U)) ||\n            (lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0));\n    local_1144 = iVar10;\n    local_1148 = iVar7;\n    local_10fc = uVar22;\n    local_10f4 = local_1148;\n    local_10f0 = local_1144;\n    if (local_110c != (undefined1  [4])0x0) {\n      (*(code *)PTR_SetImageProperty_003a9534)\n                (iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)\n      ;\n      local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c);\n    }\n    iVar7 = (int)lVar33;\n    lVar31 = CONCAT44(iVar7,puVar8);\n    iVar10 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n    if (iVar10 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\n    }\n    if (((uVar22 != 0) && (local_10ec - 1U < 4)) && (lVar33 != 0)) {\n      local_1138 = local_10e8;\n      if (0 < (int)local_10e8) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = local_10f8;\n        local_1124 = local_10c0;\n        puVar8 = local_10f8;\n        if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }\n        iVar7 = -1;\n        if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }\n        puVar8 = puVar8 + -1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar11 = 2 << ((uint)puVar8 & 0x1f);\n        local_1128 = iVar7 * (int)local_10f8;\n        uVar13 = uVar11;\n        uVar22 = 1 >> (~(uint)puVar8 & 0x1f);\n        if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar13 - 1;\n        local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);\n        goto LAB_00224900;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224e60;\n    }\n    uVar20 = 0x1a5;\n    puVar17 = PTR_UINT_003a8950 + -0x2c10;\nLAB_00224c3c:\n    lVar31 = CONCAT44(iVar7,puVar8);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar20,0x1a9,puVar17,\n               PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x2210);\n    if (iVar6 != 0) {\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    }\n    uVar20 = 0;\n    dVar26 = in_f22_23;\n  }\nLAB_00224c7c:\n  uVar2 = (ulonglong)lVar31 >> 0x20;\n  if (local_5c == *(int *)puVar4) {\n    return uVar20;\n  }\n  uVar20 = (*(code *)PTR___stack_chk_fail_003a9064)();\n  lVar31 = CONCAT44(uVar20,(int)lVar31);\n  uVar20 = (int)uVar2;\nLAB_002252f8:\n  uVar2 = (ulonglong)lVar31 >> 0x20;\n  lVar31 = CONCAT44(uVar20,(int)lVar31);\n  in_f22_23 = dVar26;\n  if (((int)uVar2 == 0) && (bVar1 = 1 < local_1160._4_4_, bVar1)) goto LAB_00225060;\nLAB_0022511c:\n  (*(code *)PTR_SeekBlob_003a9328)(iVar6);\n  dVar28 = local_10d8;\nLAB_002249f4:\n  local_10d8 = dVar28;\n  dVar26 = dVar26 - in_f22_23;\n  do {\n    iVar7 = (int)((ulonglong)lVar31 >> 0x20);\n    local_1140 = (uint)((ulonglong)dVar26 >> 0x20);\n    if (0.0 <= dVar26) {\n      dVar28 = *(double *)(local_1134 + 0x1438);\n    }\n    else {\n      local_1140 = local_1140 ^ 0x80000000;\n      dVar28 = local_1118;\n    }\n    if (in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar26,0))) {\n      dVar28 = *(double *)(local_1134 + 0x1438) / dVar26;\n    }\n    else {\n      dVar28 = dVar28 / in_f28_29;\n    }\n    uVar22 = *(int *)(iVar6 + 0x1c) - 1;\n    dVar28 = dVar28 * in_f30_31;\n    if (-1 < (int)uVar22) {\n      local_1160 = CONCAT44((int)uVar22 >> 0x1f,local_1160._4_4_);\n      uVar13 = uVar22;\n      while( true ) {\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2);\n        if (iVar10 == 0) break;\n        if (0 < *(int *)(iVar6 + 0x18)) {\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2);\n        if ((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))) break;\n        uVar22 = uVar22 - 1;\n        iVar7 = local_1160._0_4_ + -1;\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_);\n        uVar13 = uVar13 - 1;\n        if (uVar22 == 0xffffffff) break;\n      }\n    }\n    iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n    if (iVar7 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\nLAB_00224e4c:\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      if (local_114c == 0) {\nLAB_00224fc0:\n        uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      else {\nLAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      goto LAB_00224c7c;\n    }\n    if ((*(int *)(param_1 + 0x2c) != 0) &&\n       ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= *(uint *)(iVar6 + 0x26c)))\n    goto LAB_00224e4c;\n    if ((int)local_1154 < (int)(local_1138 + -1)) {\n      (*(code *)PTR_AcquireNextImage_003a8f90)(param_1,iVar6,param_2);\n      iVar7 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar6);\n      if (iVar7 != 0) {\n        iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6);\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32);\n        if (local_114c != 0) goto LAB_00224e34;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224fc0;\n    }\nLAB_00224e34:\n    local_1154 = local_1154 + 1;\n    if (local_1154 == local_1138) goto LAB_00224e4c;\nLAB_00224900:\n    iVar7 = *(int *)(param_1 + 0x1dc);\n    *(int *)(iVar6 + 0x18) = local_1148;\n    *(int *)(iVar6 + 0x1c) = local_1144;\n    *(int *)(iVar6 + 0x20) = local_1128;\n    *(undefined4 *)(iVar6 + 0x25c) = local_1124;\n    *(undefined **)(iVar6 + 0x26c) = local_1154;\n    if (((iVar7 != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n       ((undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1) <= local_1154))\n    goto LAB_00224e4c;\n    local_114c = (*(code *)PTR_SetImageExtent_003a94ac)(iVar6,local_1148,local_1144,param_2);\n    if (local_114c == 0) goto LAB_00224fc0;\n    (*(code *)PTR_SetImageColorspace_003a8d40)(iVar6,3,param_2);\n    in_f22_23 = local_10e0;\n    if ((local_10e0 != 0.0) || (local_10d8 != 0.0)) {\n      if (local_1158 != (undefined1 *)0x0) goto LAB_002249dc;\n      dVar26 = 0.0;\n      dVar28 = dVar26;\n      goto LAB_002249f4;\n    }\n    if (((uint)local_1158 & 0xffffffdf) != 0xffffffc0) break;\n    dVar26 = local_10d8;\n    lVar33 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n    if (lVar33 != -1) {\n      lVar31 = (ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)*(uint *)(iVar6 + 0x1c);\n      uVar22 = *(uint *)(iVar6 + 0x20) >> 3;\n      if (uVar22 == 2) {\n        sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n        dVar26 = (double)(int)sVar15;\n      }\n      else if (uVar22 == 4) {\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }\n      else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }\n      local_1160._0_4_ = (int)((ulonglong)lVar31 >> 0x20);\n      uVar20 = local_1160._0_4_;\n      local_1160 = lVar31;\n      local_10e0 = dVar26;\n      local_10d8 = dVar26;\n      if (0xffffffff < lVar31) goto LAB_00225060;\n      goto LAB_002252f8;\n    }\n    dVar26 = dVar26 - in_f22_23;\n  } while( true );\n  dVar26 = 0.0;\n  dVar28 = dVar26;\n  if (local_1158 != (undefined1 *)0x0) {\nLAB_002249dc:\n    dVar26 = (double)(*(code *)PTR_FUN_003a8a60)(local_1120,local_111c);\n    dVar28 = dVar26;\n  }\n  goto LAB_002249f4;\nLAB_00225060:\n  iVar7 = 0;\n  uVar22 = 1;\n  dVar28 = dVar26;\n  dVar29 = dVar26;\n  do {\n    uVar13 = *(uint *)(iVar6 + 0x20) >> 3;\n    if (uVar13 == 2) {\n      sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n      dVar26 = (double)(int)sVar15;\n    }\n    else if (uVar13 == 4) {\n      fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n      dVar26 = (double)fVar27;\n    }\n    else if (uVar13 == 1) {\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }\n    else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }\n    dVar5 = dVar26;\n    if (dVar29 <= dVar26) {\n      dVar5 = local_10e0;\n    }\n    local_10e0 = dVar5;\n    uVar13 = uVar22 + 1;\n    dVar29 = dVar26;\n    if (dVar26 <= dVar28) {\n      dVar26 = dVar28;\n      dVar29 = local_10d8;\n    }\n    local_10d8 = dVar29;\n    iVar7 = (uint)(uVar13 < uVar22) + iVar7;\n    uVar22 = uVar13;\n    dVar28 = dVar26;\n    dVar29 = local_10e0;\n    in_f22_23 = local_10e0;\n  } while (lVar31 != CONCAT44(iVar7,uVar13));\n  goto LAB_0022511c;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "ulonglong uVar2;" type_identifier identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "double dVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined1 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "byte bVar16;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "short sVar15;" (sized_type_specifier "short" short) identifier ;) (declaration "undefined4 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "float *pfVar18;" primitive_type (pointer_declarator "*pfVar18" * identifier) ;) (declaration "double *pdVar19;" primitive_type (pointer_declarator "*pdVar19" * identifier) ;) (declaration "undefined4 uVar20;" type_identifier identifier ;) (declaration "byte *pbVar21;" type_identifier (pointer_declarator "*pbVar21" * identifier) ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "undefined4 unaff_s3;" type_identifier identifier ;) (declaration "undefined *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "undefined4 unaff_s5;" type_identifier identifier ;) (declaration "undefined *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "code *pcVar25;" type_identifier (pointer_declarator "*pcVar25" * identifier) ;) (declaration "double dVar26;" primitive_type identifier ;) (declaration "float fVar27;" primitive_type identifier ;) (declaration "double dVar28;" primitive_type identifier ;) (declaration "double in_f22_23;" primitive_type identifier ;) (declaration "double dVar29;" primitive_type identifier ;) (declaration "double in_f28_29;" primitive_type identifier ;) (declaration "double in_f30_31;" primitive_type identifier ;) (declaration "undefined8 uVar30;" type_identifier identifier ;) (declaration "longlong lVar31;" type_identifier identifier ;) (declaration "undefined8 uVar32;" type_identifier identifier ;) (declaration "longlong lVar33;" type_identifier identifier ;) (declaration "undefined8 local_1160;" type_identifier identifier ;) (declaration "undefined1 *local_1158;" type_identifier (pointer_declarator "*local_1158" * identifier) ;) (declaration "undefined *local_1154;" type_identifier (pointer_declarator "*local_1154" * identifier) ;) (declaration "int local_114c;" primitive_type identifier ;) (declaration "int local_1148;" primitive_type identifier ;) (declaration "int local_1144;" primitive_type identifier ;) (declaration "uint local_1140;" type_identifier identifier ;) (declaration "undefined *local_1138;" type_identifier (pointer_declarator "*local_1138" * identifier) ;) (declaration "undefined *local_1134;" type_identifier (pointer_declarator "*local_1134" * identifier) ;) (declaration "undefined *local_112c;" type_identifier (pointer_declarator "*local_112c" * identifier) ;) (declaration "int local_1128;" primitive_type identifier ;) (declaration "undefined4 local_1124;" type_identifier identifier ;) (declaration "int local_1120;" primitive_type identifier ;) (declaration "uint local_111c;" type_identifier identifier ;) (declaration "double local_1118;" primitive_type identifier ;) (declaration "undefined1 local_110c [4];" type_identifier (array_declarator "local_110c [4]" identifier [ number_literal ]) ;) (declaration "double local_1108;" primitive_type identifier ;) (declaration "uint local_1100;" type_identifier identifier ;) (declaration "uint local_10fc;" type_identifier identifier ;) (declaration "undefined1 *local_10f8;" type_identifier (pointer_declarator "*local_10f8" * identifier) ;) (declaration "int local_10f4;" primitive_type identifier ;) (declaration "int local_10f0;" primitive_type identifier ;) (declaration "int local_10ec;" primitive_type identifier ;) (declaration "undefined *local_10e8;" type_identifier (pointer_declarator "*local_10e8" * identifier) ;) (declaration "double local_10e0;" primitive_type identifier ;) (declaration "double local_10d8;" primitive_type identifier ;) (declaration "double local_10d0;" primitive_type identifier ;) (declaration "double local_10c8;" primitive_type identifier ;) (declaration "undefined4 local_10c0;" type_identifier identifier ;) (declaration "byte local_10b4 [12];" type_identifier (array_declarator "local_10b4 [12]" identifier [ number_literal ]) ;) (declaration "byte local_10a8 [2];" type_identifier (array_declarator "local_10a8 [2]" identifier [ number_literal ]) ;) (declaration "byte local_10a6 [70];" type_identifier (array_declarator "local_10a6 [70]" identifier [ number_literal ]) ;) (declaration "undefined1 local_1060;" type_identifier identifier ;) (declaration "undefined1 auStack_105c [4096];" type_identifier (array_declarator "auStack_105c [4096]" identifier [ number_literal ]) ;) (declaration "int local_5c;" primitive_type identifier ;) (expression_statement "puVar4 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar4 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "lVar31 = CONCAT44(unaff_s3,unaff_s5);" (assignment_expression "lVar31 = CONCAT44(unaff_s3,unaff_s5)" identifier = (call_expression "CONCAT44(unaff_s3,unaff_s5)" identifier (argument_list "(unaff_s3,unaff_s5)" ( identifier , identifier )))) ;) (expression_statement "local_5c = *(int *)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_5c = *(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))) ;) (if_statement "if (param_1 == 0) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }" { (expression_statement "uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                        PTR_UINT_003a8950 + -0xc60);" (assignment_expression "uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                        PTR_UINT_003a8950 + -0xc60)" identifier = (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                        PTR_UINT_003a8950 + -0xc60)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                        PTR_UINT_003a8950 + -0xc60)" ( (binary_expression "PTR_LAB_003a88e0 + 0xd78" identifier + number_literal) , (binary_expression "PTR_UINT_003a8950 + -0xe40" identifier + number_literal) , number_literal , (binary_expression "PTR_UINT_003a8950 + -0xc60" identifier + number_literal) )))) ;) (return_statement "return uVar20;" return identifier ;) })) (if_statement "if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x3214) != -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x3214) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x3214)" * (cast_expression "(int *)(param_1 + 0x3214)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3214)" ( (binary_expression "param_1 + 0x3214" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }" { (expression_statement "uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                        PTR_UINT_003a8950 + -0xc60);" (assignment_expression "uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                        PTR_UINT_003a8950 + -0xc60)" identifier = (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                        PTR_UINT_003a8950 + -0xc60)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                        PTR_UINT_003a8950 + -0xc60)" ( (binary_expression "PTR_LAB_003a88e0 + 0xda0" identifier + number_literal) , (binary_expression "PTR_UINT_003a8950 + -0xe40" identifier + number_literal) , number_literal , (binary_expression "PTR_UINT_003a8950 + -0xc60" identifier + number_literal) )))) ;) (return_statement "return uVar20;" return identifier ;) })) (if_statement "if (*(int *)(param_1 + 0x3210) != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x3210) != 0)" ( (binary_expression "*(int *)(param_1 + 0x3210) != 0" (pointer_expression "*(int *)(param_1 + 0x3210)" * (cast_expression "(int *)(param_1 + 0x3210)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3210)" ( (binary_expression "param_1 + 0x3210" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);\n  }" { (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" * (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210)" ( number_literal , (binary_expression "PTR_UINT_003a8950 + -0xe40" identifier + number_literal) , (binary_expression "PTR_UINT_003a8950 + -0xc70" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" identifier + number_literal) , (binary_expression "param_1 + 0x2210" identifier + number_literal) ))) ;) })) (if_statement "if (param_2 == 0) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }" { (expression_statement "uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                        PTR_UINT_003a8950 + -0xc60);" (assignment_expression "uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                        PTR_UINT_003a8950 + -0xc60)" identifier = (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                        PTR_UINT_003a8950 + -0xc60)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                        PTR_UINT_003a8950 + -0xc60)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1cac" identifier + number_literal) , (binary_expression "PTR_UINT_003a8950 + -0xe40" identifier + number_literal) , number_literal , (binary_expression "PTR_UINT_003a8950 + -0xc60" identifier + number_literal) )))) ;) (return_statement "return uVar20;" return identifier ;) })) (if_statement "if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }" if (parenthesized_expression "(*(int *)(param_2 + 0x1c) != -0x54535255)" ( (binary_expression "*(int *)(param_2 + 0x1c) != -0x54535255" (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }" { (expression_statement "uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                        PTR_UINT_003a8950 + -0xc60);" (assignment_expression "uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                        PTR_UINT_003a8950 + -0xc60)" identifier = (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                        PTR_UINT_003a8950 + -0xc60)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                        PTR_UINT_003a8950 + -0xc60)" ( (binary_expression "PTR_LAB_003a88e0 + 0x294c" identifier + number_literal) , (binary_expression "PTR_UINT_003a8950 + -0xe40" identifier + number_literal) , number_literal , (binary_expression "PTR_UINT_003a8950 + -0xc60" identifier + number_literal) )))) ;) (return_statement "return uVar20;" return identifier ;) })) (expression_statement "iVar6 = (*(code *)PTR_AcquireImage_003a960c)(param_1,param_2);" (assignment_expression "iVar6 = (*(code *)PTR_AcquireImage_003a960c)(param_1,param_2)" identifier = (call_expression "(*(code *)PTR_AcquireImage_003a960c)(param_1,param_2)" (parenthesized_expression "(*(code *)PTR_AcquireImage_003a960c)" ( (pointer_expression "*(code *)PTR_AcquireImage_003a960c" * (cast_expression "(code *)PTR_AcquireImage_003a960c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_2)" ( identifier , identifier )))) ;) (expression_statement "local_114c = (*(code *)PTR_OpenBlob_003a924c)(param_1,iVar6,2,param_2);" (assignment_expression "local_114c = (*(code *)PTR_OpenBlob_003a924c)(param_1,iVar6,2,param_2)" identifier = (call_expression "(*(code *)PTR_OpenBlob_003a924c)(param_1,iVar6,2,param_2)" (parenthesized_expression "(*(code *)PTR_OpenBlob_003a924c)" ( (pointer_expression "*(code *)PTR_OpenBlob_003a924c" * (cast_expression "(code *)PTR_OpenBlob_003a924c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,iVar6,2,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "puVar3 = PTR_UINT_003a8950;" (assignment_expression "puVar3 = PTR_UINT_003a8950" identifier = identifier) ;) (expression_statement "puVar17 = PTR_LAB_003a88e0;" (assignment_expression "puVar17 = PTR_LAB_003a88e0" identifier = identifier) ;) (if_statement "if (local_114c == 0) {\n    (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    uVar20 = 0;\n    dVar26 = in_f22_23;\n  }\n  else {\n    local_1158 = PTR_UINT_003a8950;\n    local_1134 = PTR_LAB_003a88e0;\n    local_1154 = PTR_UINT_003a8950;\n    (*(code *)PTR_memset_003a96d4)(&local_1100,0,0x48);\n    local_10c8 = *(double *)(puVar17 + 0x1438);\n    local_10f8 = &DAT_00000008;\n    local_10f4 = 1;\n    local_10f0 = 1;\n    local_10e8 = (undefined *)0x1;\n    puVar17 = PTR_UINT_003a8950 + -0xe20;\n    puVar23 = PTR_s_t_to_left_003a88e4 + 0x544;\n    local_10c0 = 2;\n    puVar24 = PTR_UINT_003a8950 + -0xe30;\n    local_1160 = CONCAT44(puVar17,local_1160._4_4_);\n    local_110c = (undefined1  [4])0x0;\n    puVar8 = PTR_UINT_003a8950;\n    do {\n      iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      if (iVar7 != 0) {\nLAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;\n        uVar22 = local_10fc;\n        iVar7 = local_10f4;\n        iVar10 = local_10f0;\n        break;\n      }\n      puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      while (puVar8 == (undefined1 *)0x0) {\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);\n        if (iVar7 != 8) break;\n        piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar21 = local_10b4;\n        do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);\n        pbVar21 = local_10a8;\n        local_10b4[(int)puVar8] = 0;\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);\n        local_1060 = 0;\n        if (iVar7 != 0x48) break;\n        if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);\n        if (iVar7 == 0) break;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);\n        if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);\n        if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);\n        if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);\n        if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);\n        if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);\n        if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);\n        if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);\n        if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);\n        if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);\n        puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      }\n      iVar7 = 0;\n      while( true ) {\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);\n        if ((lVar31 == 0) || (iVar7 == -1)) break;\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      }\n      if (local_1100 == 0) goto LAB_00224bd4;\n      if (local_10f8 + -8 < &DAT_00000019) {\n        if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;\n      }\n      else if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }\n    } while (((local_10fc == 0) || (3 < local_10ec - 1U)) ||\n            (lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0));\n    local_1144 = iVar10;\n    local_1148 = iVar7;\n    local_10fc = uVar22;\n    local_10f4 = local_1148;\n    local_10f0 = local_1144;\n    if (local_110c != (undefined1  [4])0x0) {\n      (*(code *)PTR_SetImageProperty_003a9534)\n                (iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)\n      ;\n      local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c);\n    }\n    iVar7 = (int)lVar33;\n    lVar31 = CONCAT44(iVar7,puVar8);\n    iVar10 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n    if (iVar10 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\n    }\n    if (((uVar22 != 0) && (local_10ec - 1U < 4)) && (lVar33 != 0)) {\n      local_1138 = local_10e8;\n      if (0 < (int)local_10e8) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = local_10f8;\n        local_1124 = local_10c0;\n        puVar8 = local_10f8;\n        if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }\n        iVar7 = -1;\n        if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }\n        puVar8 = puVar8 + -1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar11 = 2 << ((uint)puVar8 & 0x1f);\n        local_1128 = iVar7 * (int)local_10f8;\n        uVar13 = uVar11;\n        uVar22 = 1 >> (~(uint)puVar8 & 0x1f);\n        if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar13 - 1;\n        local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);\n        goto LAB_00224900;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224e60;\n    }\n    uVar20 = 0x1a5;\n    puVar17 = PTR_UINT_003a8950 + -0x2c10;\nLAB_00224c3c:\n    lVar31 = CONCAT44(iVar7,puVar8);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar20,0x1a9,puVar17,\n               PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x2210);\n    if (iVar6 != 0) {\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    }\n    uVar20 = 0;\n    dVar26 = in_f22_23;\n  }" if (parenthesized_expression "(local_114c == 0)" ( (binary_expression "local_114c == 0" identifier == number_literal) )) (compound_statement "{\n    (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    uVar20 = 0;\n    dVar26 = in_f22_23;\n  }" { (expression_statement "(*(code *)PTR_DestroyImageList_003a9510)(iVar6);" (call_expression "(*(code *)PTR_DestroyImageList_003a9510)(iVar6)" (parenthesized_expression "(*(code *)PTR_DestroyImageList_003a9510)" ( (pointer_expression "*(code *)PTR_DestroyImageList_003a9510" * (cast_expression "(code *)PTR_DestroyImageList_003a9510" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))) ;) (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (expression_statement "dVar26 = in_f22_23;" (assignment_expression "dVar26 = in_f22_23" identifier = identifier) ;) }) (else_clause "else {\n    local_1158 = PTR_UINT_003a8950;\n    local_1134 = PTR_LAB_003a88e0;\n    local_1154 = PTR_UINT_003a8950;\n    (*(code *)PTR_memset_003a96d4)(&local_1100,0,0x48);\n    local_10c8 = *(double *)(puVar17 + 0x1438);\n    local_10f8 = &DAT_00000008;\n    local_10f4 = 1;\n    local_10f0 = 1;\n    local_10e8 = (undefined *)0x1;\n    puVar17 = PTR_UINT_003a8950 + -0xe20;\n    puVar23 = PTR_s_t_to_left_003a88e4 + 0x544;\n    local_10c0 = 2;\n    puVar24 = PTR_UINT_003a8950 + -0xe30;\n    local_1160 = CONCAT44(puVar17,local_1160._4_4_);\n    local_110c = (undefined1  [4])0x0;\n    puVar8 = PTR_UINT_003a8950;\n    do {\n      iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      if (iVar7 != 0) {\nLAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;\n        uVar22 = local_10fc;\n        iVar7 = local_10f4;\n        iVar10 = local_10f0;\n        break;\n      }\n      puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      while (puVar8 == (undefined1 *)0x0) {\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);\n        if (iVar7 != 8) break;\n        piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar21 = local_10b4;\n        do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);\n        pbVar21 = local_10a8;\n        local_10b4[(int)puVar8] = 0;\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);\n        local_1060 = 0;\n        if (iVar7 != 0x48) break;\n        if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);\n        if (iVar7 == 0) break;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);\n        if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);\n        if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);\n        if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);\n        if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);\n        if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);\n        if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);\n        if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);\n        if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);\n        if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);\n        puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      }\n      iVar7 = 0;\n      while( true ) {\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);\n        if ((lVar31 == 0) || (iVar7 == -1)) break;\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      }\n      if (local_1100 == 0) goto LAB_00224bd4;\n      if (local_10f8 + -8 < &DAT_00000019) {\n        if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;\n      }\n      else if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }\n    } while (((local_10fc == 0) || (3 < local_10ec - 1U)) ||\n            (lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0));\n    local_1144 = iVar10;\n    local_1148 = iVar7;\n    local_10fc = uVar22;\n    local_10f4 = local_1148;\n    local_10f0 = local_1144;\n    if (local_110c != (undefined1  [4])0x0) {\n      (*(code *)PTR_SetImageProperty_003a9534)\n                (iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)\n      ;\n      local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c);\n    }\n    iVar7 = (int)lVar33;\n    lVar31 = CONCAT44(iVar7,puVar8);\n    iVar10 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n    if (iVar10 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\n    }\n    if (((uVar22 != 0) && (local_10ec - 1U < 4)) && (lVar33 != 0)) {\n      local_1138 = local_10e8;\n      if (0 < (int)local_10e8) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = local_10f8;\n        local_1124 = local_10c0;\n        puVar8 = local_10f8;\n        if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }\n        iVar7 = -1;\n        if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }\n        puVar8 = puVar8 + -1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar11 = 2 << ((uint)puVar8 & 0x1f);\n        local_1128 = iVar7 * (int)local_10f8;\n        uVar13 = uVar11;\n        uVar22 = 1 >> (~(uint)puVar8 & 0x1f);\n        if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar13 - 1;\n        local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);\n        goto LAB_00224900;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224e60;\n    }\n    uVar20 = 0x1a5;\n    puVar17 = PTR_UINT_003a8950 + -0x2c10;\nLAB_00224c3c:\n    lVar31 = CONCAT44(iVar7,puVar8);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar20,0x1a9,puVar17,\n               PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x2210);\n    if (iVar6 != 0) {\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    }\n    uVar20 = 0;\n    dVar26 = in_f22_23;\n  }" else (compound_statement "{\n    local_1158 = PTR_UINT_003a8950;\n    local_1134 = PTR_LAB_003a88e0;\n    local_1154 = PTR_UINT_003a8950;\n    (*(code *)PTR_memset_003a96d4)(&local_1100,0,0x48);\n    local_10c8 = *(double *)(puVar17 + 0x1438);\n    local_10f8 = &DAT_00000008;\n    local_10f4 = 1;\n    local_10f0 = 1;\n    local_10e8 = (undefined *)0x1;\n    puVar17 = PTR_UINT_003a8950 + -0xe20;\n    puVar23 = PTR_s_t_to_left_003a88e4 + 0x544;\n    local_10c0 = 2;\n    puVar24 = PTR_UINT_003a8950 + -0xe30;\n    local_1160 = CONCAT44(puVar17,local_1160._4_4_);\n    local_110c = (undefined1  [4])0x0;\n    puVar8 = PTR_UINT_003a8950;\n    do {\n      iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      if (iVar7 != 0) {\nLAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;\n        uVar22 = local_10fc;\n        iVar7 = local_10f4;\n        iVar10 = local_10f0;\n        break;\n      }\n      puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      while (puVar8 == (undefined1 *)0x0) {\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);\n        if (iVar7 != 8) break;\n        piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar21 = local_10b4;\n        do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);\n        pbVar21 = local_10a8;\n        local_10b4[(int)puVar8] = 0;\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);\n        local_1060 = 0;\n        if (iVar7 != 0x48) break;\n        if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);\n        if (iVar7 == 0) break;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);\n        if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);\n        if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);\n        if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);\n        if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);\n        if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);\n        if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);\n        if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);\n        if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);\n        if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);\n        puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      }\n      iVar7 = 0;\n      while( true ) {\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);\n        if ((lVar31 == 0) || (iVar7 == -1)) break;\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      }\n      if (local_1100 == 0) goto LAB_00224bd4;\n      if (local_10f8 + -8 < &DAT_00000019) {\n        if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;\n      }\n      else if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }\n    } while (((local_10fc == 0) || (3 < local_10ec - 1U)) ||\n            (lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0));\n    local_1144 = iVar10;\n    local_1148 = iVar7;\n    local_10fc = uVar22;\n    local_10f4 = local_1148;\n    local_10f0 = local_1144;\n    if (local_110c != (undefined1  [4])0x0) {\n      (*(code *)PTR_SetImageProperty_003a9534)\n                (iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)\n      ;\n      local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c);\n    }\n    iVar7 = (int)lVar33;\n    lVar31 = CONCAT44(iVar7,puVar8);\n    iVar10 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n    if (iVar10 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\n    }\n    if (((uVar22 != 0) && (local_10ec - 1U < 4)) && (lVar33 != 0)) {\n      local_1138 = local_10e8;\n      if (0 < (int)local_10e8) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = local_10f8;\n        local_1124 = local_10c0;\n        puVar8 = local_10f8;\n        if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }\n        iVar7 = -1;\n        if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }\n        puVar8 = puVar8 + -1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar11 = 2 << ((uint)puVar8 & 0x1f);\n        local_1128 = iVar7 * (int)local_10f8;\n        uVar13 = uVar11;\n        uVar22 = 1 >> (~(uint)puVar8 & 0x1f);\n        if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar13 - 1;\n        local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);\n        goto LAB_00224900;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224e60;\n    }\n    uVar20 = 0x1a5;\n    puVar17 = PTR_UINT_003a8950 + -0x2c10;\nLAB_00224c3c:\n    lVar31 = CONCAT44(iVar7,puVar8);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar20,0x1a9,puVar17,\n               PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x2210);\n    if (iVar6 != 0) {\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    }\n    uVar20 = 0;\n    dVar26 = in_f22_23;\n  }" { (expression_statement "local_1158 = PTR_UINT_003a8950;" (assignment_expression "local_1158 = PTR_UINT_003a8950" identifier = identifier) ;) (expression_statement "local_1134 = PTR_LAB_003a88e0;" (assignment_expression "local_1134 = PTR_LAB_003a88e0" identifier = identifier) ;) (expression_statement "local_1154 = PTR_UINT_003a8950;" (assignment_expression "local_1154 = PTR_UINT_003a8950" identifier = identifier) ;) (expression_statement "(*(code *)PTR_memset_003a96d4)(&local_1100,0,0x48);" (call_expression "(*(code *)PTR_memset_003a96d4)(&local_1100,0,0x48)" (parenthesized_expression "(*(code *)PTR_memset_003a96d4)" ( (pointer_expression "*(code *)PTR_memset_003a96d4" * (cast_expression "(code *)PTR_memset_003a96d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_1100,0,0x48)" ( (pointer_expression "&local_1100" & identifier) , number_literal , number_literal ))) ;) (expression_statement "local_10c8 = *(double *)(puVar17 + 0x1438);" (assignment_expression "local_10c8 = *(double *)(puVar17 + 0x1438)" identifier = (pointer_expression "*(double *)(puVar17 + 0x1438)" * (cast_expression "(double *)(puVar17 + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x1438)" ( (binary_expression "puVar17 + 0x1438" identifier + number_literal) ))))) ;) (expression_statement "local_10f8 = &DAT_00000008;" (assignment_expression "local_10f8 = &DAT_00000008" identifier = (pointer_expression "&DAT_00000008" & identifier)) ;) (expression_statement "local_10f4 = 1;" (assignment_expression "local_10f4 = 1" identifier = number_literal) ;) (expression_statement "local_10f0 = 1;" (assignment_expression "local_10f0 = 1" identifier = number_literal) ;) (expression_statement "local_10e8 = (undefined *)0x1;" (assignment_expression "local_10e8 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar17 = PTR_UINT_003a8950 + -0xe20;" (assignment_expression "puVar17 = PTR_UINT_003a8950 + -0xe20" identifier = (binary_expression "PTR_UINT_003a8950 + -0xe20" identifier + number_literal)) ;) (expression_statement "puVar23 = PTR_s_t_to_left_003a88e4 + 0x544;" (assignment_expression "puVar23 = PTR_s_t_to_left_003a88e4 + 0x544" identifier = (binary_expression "PTR_s_t_to_left_003a88e4 + 0x544" identifier + number_literal)) ;) (expression_statement "local_10c0 = 2;" (assignment_expression "local_10c0 = 2" identifier = number_literal) ;) (expression_statement "puVar24 = PTR_UINT_003a8950 + -0xe30;" (assignment_expression "puVar24 = PTR_UINT_003a8950 + -0xe30" identifier = (binary_expression "PTR_UINT_003a8950 + -0xe30" identifier + number_literal)) ;) (expression_statement "local_1160 = CONCAT44(puVar17,local_1160._4_4_);" (assignment_expression "local_1160 = CONCAT44(puVar17,local_1160._4_4_)" identifier = (call_expression "CONCAT44(puVar17,local_1160._4_4_)" identifier (argument_list "(puVar17,local_1160._4_4_)" ( identifier , (field_expression "local_1160._4_4_" identifier . field_identifier) )))) ;) (expression_statement "local_110c = (undefined1  [4])0x0;" (assignment_expression "local_110c = (undefined1  [4])0x0" identifier = (cast_expression "(undefined1  [4])0x0" ( (type_descriptor "undefined1  [4]" type_identifier (abstract_array_declarator "[4]" [ number_literal ])) ) number_literal)) ;) (expression_statement "puVar8 = PTR_UINT_003a8950;" (assignment_expression "puVar8 = PTR_UINT_003a8950" identifier = identifier) ;) (do_statement "do {\n      iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      if (iVar7 != 0) {\nLAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;\n        uVar22 = local_10fc;\n        iVar7 = local_10f4;\n        iVar10 = local_10f0;\n        break;\n      }\n      puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      while (puVar8 == (undefined1 *)0x0) {\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);\n        if (iVar7 != 8) break;\n        piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar21 = local_10b4;\n        do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);\n        pbVar21 = local_10a8;\n        local_10b4[(int)puVar8] = 0;\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);\n        local_1060 = 0;\n        if (iVar7 != 0x48) break;\n        if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);\n        if (iVar7 == 0) break;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);\n        if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);\n        if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);\n        if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);\n        if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);\n        if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);\n        if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);\n        if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);\n        if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);\n        if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);\n        puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      }\n      iVar7 = 0;\n      while( true ) {\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);\n        if ((lVar31 == 0) || (iVar7 == -1)) break;\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      }\n      if (local_1100 == 0) goto LAB_00224bd4;\n      if (local_10f8 + -8 < &DAT_00000019) {\n        if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;\n      }\n      else if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }\n    } while (((local_10fc == 0) || (3 < local_10ec - 1U)) ||\n            (lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0));" do (compound_statement "{\n      iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      if (iVar7 != 0) {\nLAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;\n        uVar22 = local_10fc;\n        iVar7 = local_10f4;\n        iVar10 = local_10f0;\n        break;\n      }\n      puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      while (puVar8 == (undefined1 *)0x0) {\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);\n        if (iVar7 != 8) break;\n        piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar21 = local_10b4;\n        do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);\n        pbVar21 = local_10a8;\n        local_10b4[(int)puVar8] = 0;\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);\n        local_1060 = 0;\n        if (iVar7 != 0x48) break;\n        if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);\n        if (iVar7 == 0) break;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);\n        if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);\n        if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);\n        if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);\n        if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);\n        if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);\n        if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);\n        if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);\n        if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);\n        if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);\n        puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      }\n      iVar7 = 0;\n      while( true ) {\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);\n        if ((lVar31 == 0) || (iVar7 == -1)) break;\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      }\n      if (local_1100 == 0) goto LAB_00224bd4;\n      if (local_10f8 + -8 < &DAT_00000019) {\n        if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;\n      }\n      else if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }\n    }" { (expression_statement "iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);" (assignment_expression "iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6)" identifier = (call_expression "(*(code *)PTR_EOFBlob_003a9748)(iVar6)" (parenthesized_expression "(*(code *)PTR_EOFBlob_003a9748)" ( (pointer_expression "*(code *)PTR_EOFBlob_003a9748" * (cast_expression "(code *)PTR_EOFBlob_003a9748" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (if_statement "if (iVar7 != 0) {\nLAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;\n        uVar22 = local_10fc;\n        iVar7 = local_10f4;\n        iVar10 = local_10f0;\n        break;\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;\n        uVar22 = local_10fc;\n        iVar7 = local_10f4;\n        iVar10 = local_10f0;\n        break;\n      }" { (labeled_statement "LAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;" statement_identifier : (expression_statement "lVar33 = (longlong)local_10f4 * (longlong)local_10f0;" (assignment_expression "lVar33 = (longlong)local_10f4 * (longlong)local_10f0" identifier = (binary_expression "(longlong)local_10f4 * (longlong)local_10f0" (cast_expression "(longlong)local_10f4" ( (type_descriptor "longlong" type_identifier) ) identifier) * (cast_expression "(longlong)local_10f0" ( (type_descriptor "longlong" type_identifier) ) identifier))) ;)) (expression_statement "uVar22 = local_10fc;" (assignment_expression "uVar22 = local_10fc" identifier = identifier) ;) (expression_statement "iVar7 = local_10f4;" (assignment_expression "iVar7 = local_10f4" identifier = identifier) ;) (expression_statement "iVar10 = local_10f0;" (assignment_expression "iVar10 = local_10f0" identifier = identifier) ;) (break_statement "break;" break ;) })) (expression_statement "puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);" (assignment_expression "puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6)" identifier = (cast_expression "(undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_EOFBlob_003a9748)(iVar6)" (parenthesized_expression "(*(code *)PTR_EOFBlob_003a9748)" ( (pointer_expression "*(code *)PTR_EOFBlob_003a9748" * (cast_expression "(code *)PTR_EOFBlob_003a9748" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))))) ;) (while_statement "while (puVar8 == (undefined1 *)0x0) {\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);\n        if (iVar7 != 8) break;\n        piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar21 = local_10b4;\n        do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);\n        pbVar21 = local_10a8;\n        local_10b4[(int)puVar8] = 0;\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);\n        local_1060 = 0;\n        if (iVar7 != 0x48) break;\n        if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);\n        if (iVar7 == 0) break;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);\n        if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);\n        if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);\n        if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);\n        if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);\n        if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);\n        if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);\n        if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);\n        if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);\n        if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);\n        puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      }" while (parenthesized_expression "(puVar8 == (undefined1 *)0x0)" ( (binary_expression "puVar8 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);\n        if (iVar7 != 8) break;\n        piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar21 = local_10b4;\n        do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);\n        pbVar21 = local_10a8;\n        local_10b4[(int)puVar8] = 0;\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);\n        local_1060 = 0;\n        if (iVar7 != 0x48) break;\n        if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);\n        if (iVar7 == 0) break;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);\n        if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);\n        if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);\n        if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);\n        if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);\n        if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);\n        if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);\n        if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);\n        if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);\n        if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);\n        puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      }" { (expression_statement "iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);" (assignment_expression "iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4)" identifier = (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" ( (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" * (cast_expression "(code *)PTR_ReadBlob_003a8dac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,8,local_10b4)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar7 != 8) break;" if (parenthesized_expression "(iVar7 != 8)" ( (binary_expression "iVar7 != 8" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();" (assignment_expression "piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)()" identifier = (cast_expression "(int *)(*(code *)PTR___ctype_b_loc_003a9434)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___ctype_b_loc_003a9434)()" (parenthesized_expression "(*(code *)PTR___ctype_b_loc_003a9434)" ( (pointer_expression "*(code *)PTR___ctype_b_loc_003a9434" * (cast_expression "(code *)PTR___ctype_b_loc_003a9434" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "pbVar21 = local_10b4;" (assignment_expression "pbVar21 = local_10b4" identifier = identifier) ;) (do_statement "do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);" do (compound_statement "{\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        }" { (if_statement "if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;" if (parenthesized_expression "((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0)" ( (binary_expression "(*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0" (parenthesized_expression "(*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20)" ( (binary_expression "*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20" (pointer_expression "*(ushort *)(*piVar9 + (uint)*pbVar21 * 2)" * (cast_expression "(ushort *)(*piVar9 + (uint)*pbVar21 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + (uint)*pbVar21 * 2)" ( (binary_expression "*piVar9 + (uint)*pbVar21 * 2" (pointer_expression "*piVar9" * identifier) + (binary_expression "(uint)*pbVar21 * 2" (binary_expression "(uint)*pbVar21" (parenthesized_expression "(uint)" ( identifier )) * identifier) * number_literal)) )))) & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar8 = puVar8 + 1;" (assignment_expression "puVar8 = puVar8 + 1" identifier = (binary_expression "puVar8 + 1" identifier + number_literal)) ;) (expression_statement "bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();" (assignment_expression "bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)()" identifier = (call_expression "(*(code *)PTR_LocaleLowercase_003a9684)()" (parenthesized_expression "(*(code *)PTR_LocaleLowercase_003a9684)" ( (pointer_expression "*(code *)PTR_LocaleLowercase_003a9684" * (cast_expression "(code *)PTR_LocaleLowercase_003a9684" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "*pbVar21 = bVar16;" (assignment_expression "*pbVar21 = bVar16" (pointer_expression "*pbVar21" * identifier) = identifier) ;) (expression_statement "pbVar21 = pbVar21 + 1;" (assignment_expression "pbVar21 = pbVar21 + 1" identifier = (binary_expression "pbVar21 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar8 != &DAT_00000008)" ( (binary_expression "puVar8 != &DAT_00000008" identifier != (pointer_expression "&DAT_00000008" & identifier)) )) ;) (expression_statement "pbVar21 = local_10a8;" (assignment_expression "pbVar21 = local_10a8" identifier = identifier) ;) (expression_statement "local_10b4[(int)puVar8] = 0;" (assignment_expression "local_10b4[(int)puVar8] = 0" (subscript_expression "local_10b4[(int)puVar8]" identifier [ (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) ]) = number_literal) ;) (expression_statement "iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);" (assignment_expression "iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21)" identifier = (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" ( (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" * (cast_expression "(code *)PTR_ReadBlob_003a8dac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,0x48,pbVar21)" ( identifier , number_literal , identifier )))) ;) (expression_statement "local_1060 = 0;" (assignment_expression "local_1060 = 0" identifier = number_literal) ;) (if_statement "if (iVar7 != 0x48) break;" if (parenthesized_expression "(iVar7 != 0x48)" ( (binary_expression "iVar7 != 0x48" identifier != number_literal) )) (break_statement "break;" break ;)) (if_statement "if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }" if (parenthesized_expression "(local_10a8[0] == 0x3d)" ( (binary_expression "local_10a8[0] == 0x3d" (subscript_expression "local_10a8[0]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }" { (expression_statement "pbVar21 = local_10a6;" (assignment_expression "pbVar21 = local_10a6" identifier = identifier) ;) (while_statement "while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }" while (parenthesized_expression "((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0)" ( (binary_expression "(*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0" (parenthesized_expression "(*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20)" ( (binary_expression "*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20" (pointer_expression "*(ushort *)(*piVar9 + (uint)*pbVar21 * 2)" * (cast_expression "(ushort *)(*piVar9 + (uint)*pbVar21 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + (uint)*pbVar21 * 2)" ( (binary_expression "*piVar9 + (uint)*pbVar21 * 2" (pointer_expression "*piVar9" * identifier) + (binary_expression "(uint)*pbVar21 * 2" (binary_expression "(uint)*pbVar21" (parenthesized_expression "(uint)" ( identifier )) * identifier) * number_literal)) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            pbVar21 = pbVar21 + 1;\n          }" { (expression_statement "pbVar21 = pbVar21 + 1;" (assignment_expression "pbVar21 = pbVar21 + 1" identifier = (binary_expression "pbVar21 + 1" identifier + number_literal)) ;) })) })) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_10b4,puVar23)" ( identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_10b4,puVar24)" ( identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }" { (expression_statement "local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);" (assignment_expression "local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54)" identifier = (call_expression "(uint)((*pbVar21 & 0xdf) == 0x54)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*pbVar21 & 0xdf) == 0x54)" ( (binary_expression "(*pbVar21 & 0xdf) == 0x54" (parenthesized_expression "(*pbVar21 & 0xdf)" ( (binary_expression "*pbVar21 & 0xdf" (pointer_expression "*pbVar21" * identifier) & number_literal) )) == number_literal) )))) ;) })) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_10b4,puVar3 + -0xe28)" ( identifier , (binary_expression "puVar3 + -0xe28" identifier + number_literal) )))) ;) (if_statement "if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }" { (expression_statement "local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);" (assignment_expression "local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54)" identifier = (call_expression "(uint)((*pbVar21 & 0xdf) == 0x54)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*pbVar21 & 0xdf) == 0x54)" ( (binary_expression "(*pbVar21 & 0xdf) == 0x54" (parenthesized_expression "(*pbVar21 & 0xdf)" ( (binary_expression "*pbVar21 & 0xdf" (pointer_expression "*pbVar21" * identifier) & number_literal) )) == number_literal) )))) ;) })) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_10b4,puVar17)" ( identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }" { (expression_statement "local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);" (assignment_expression "local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" identifier = (cast_expression "(undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" (parenthesized_expression "(*(code *)PTR_strtol_003a954c)" ( (pointer_expression "*(code *)PTR_strtol_003a954c" * (cast_expression "(code *)PTR_strtol_003a954c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar21,0,10)" ( identifier , number_literal , number_literal ))))) ;) })) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_10b4,puVar3 + -0xe18)" ( identifier , (binary_expression "puVar3 + -0xe18" identifier + number_literal) )))) ;) (if_statement "if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }" { (expression_statement "local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);" (assignment_expression "local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" identifier = (call_expression "(*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" (parenthesized_expression "(*(code *)PTR_strtol_003a954c)" ( (pointer_expression "*(code *)PTR_strtol_003a954c" * (cast_expression "(code *)PTR_strtol_003a954c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar21,0,10)" ( identifier , number_literal , number_literal )))) ;) })) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_10b4,PTR_UINT_003a8950 + -0xe10)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xe10" identifier + number_literal) )))) ;) (if_statement "if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }" { (expression_statement "local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);" (assignment_expression "local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" identifier = (call_expression "(*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" (parenthesized_expression "(*(code *)PTR_strtol_003a954c)" ( (pointer_expression "*(code *)PTR_strtol_003a954c" * (cast_expression "(code *)PTR_strtol_003a954c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar21,0,10)" ( identifier , number_literal , number_literal )))) ;) })) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_10b4,PTR_UINT_003a8950 + -0xe08)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xe08" identifier + number_literal) )))) ;) (if_statement "if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }" { (expression_statement "local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);" (assignment_expression "local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" identifier = (call_expression "(*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" (parenthesized_expression "(*(code *)PTR_strtol_003a954c)" ( (pointer_expression "*(code *)PTR_strtol_003a954c" * (cast_expression "(code *)PTR_strtol_003a954c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar21,0,10)" ( identifier , number_literal , number_literal )))) ;) })) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_10b4,PTR_UINT_003a8950 + -0xe00)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xe00" identifier + number_literal) )))) ;) (if_statement "if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }" { (expression_statement "local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);" (assignment_expression "local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" identifier = (cast_expression "(undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" (parenthesized_expression "(*(code *)PTR_strtol_003a954c)" ( (pointer_expression "*(code *)PTR_strtol_003a954c" * (cast_expression "(code *)PTR_strtol_003a954c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar21,0,10)" ( identifier , number_literal , number_literal ))))) ;) })) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_10b4,PTR_UINT_003a8950 + -0xdf8)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xdf8" identifier + number_literal) )))) ;) (if_statement "if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }" { (expression_statement "local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);" (assignment_expression "local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0)" identifier = (cast_expression "(double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,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 "(pbVar21,0)" ( identifier , number_literal ))))) ;) })) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_10b4,PTR_UINT_003a8950 + -0xdf0)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xdf0" identifier + number_literal) )))) ;) (if_statement "if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }" { (expression_statement "local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);" (assignment_expression "local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0)" identifier = (cast_expression "(double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,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 "(pbVar21,0)" ( identifier , number_literal ))))) ;) })) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_10b4,PTR_UINT_003a8950 + -0xde8)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xde8" identifier + number_literal) )))) ;) (if_statement "if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }" { (expression_statement "local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);" (assignment_expression "local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0)" identifier = (cast_expression "(double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,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 "(pbVar21,0)" ( identifier , number_literal ))))) ;) })) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_10b4,PTR_UINT_003a8950 + -0xde0)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xde0" identifier + number_literal) )))) ;) (if_statement "if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }" { (expression_statement "local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);" (assignment_expression "local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0)" identifier = (cast_expression "(double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,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 "(pbVar21,0)" ( identifier , number_literal ))))) ;) })) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928)" ( identifier , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928" identifier + number_literal) )))) ;) (if_statement "if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }" { (if_statement "if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }" if (parenthesized_expression "(local_110c == (undefined1  [4])0x0)" ( (binary_expression "local_110c == (undefined1  [4])0x0" identifier == (cast_expression "(undefined1  [4])0x0" ( (type_descriptor "undefined1  [4]" type_identifier (abstract_array_declarator "[4]" [ number_literal ])) ) number_literal)) )) (compound_statement "{\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }" { (expression_statement "local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);" (assignment_expression "local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21)" identifier = (call_expression "(undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21)" (call_expression "(undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)" (parenthesized_expression "(undefined1  [4])" ( (subscript_expression "undefined1  [4]" identifier [ number_literal ]) )) (argument_list "(*(code *)PTR_ConstantString_003a90b4)" ( (pointer_expression "*(code *)PTR_ConstantString_003a90b4" * (cast_expression "(code *)PTR_ConstantString_003a90b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) (argument_list "(pbVar21)" ( identifier )))) ;) }) (else_clause "else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }" else (compound_statement "{\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }" { (expression_statement "(*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);" (call_expression "(*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21)" (parenthesized_expression "(*(code *)PTR_ConcatenateString_003a93a8)" ( (pointer_expression "*(code *)PTR_ConcatenateString_003a93a8" * (cast_expression "(code *)PTR_ConcatenateString_003a93a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_110c,pbVar21)" ( identifier , identifier ))) ;) }))) })) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_10b4,PTR_UINT_003a8950 + -0xdd8)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xdd8" identifier + number_literal) )))) ;) (if_statement "if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }" { (expression_statement "iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3)" identifier = (call_expression "(*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3)" (parenthesized_expression "(*(code *)PTR_LocaleNCompare_003a961c)" ( (pointer_expression "*(code *)PTR_LocaleNCompare_003a961c" * (cast_expression "(code *)PTR_LocaleNCompare_003a961c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar21,PTR_UINT_003a8950 + -0xdd0,3)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xdd0" identifier + number_literal) , number_literal )))) ;) (if_statement "if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n            local_10c0 = 2;\n          }" { (expression_statement "local_10c0 = 2;" (assignment_expression "local_10c0 = 2" identifier = number_literal) ;) }) (else_clause "else {\n            local_10c0 = 1;\n          }" else (compound_statement "{\n            local_10c0 = 1;\n          }" { (expression_statement "local_10c0 = 1;" (assignment_expression "local_10c0 = 1" identifier = number_literal) ;) }))) })) (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4)" (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_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4)" ( identifier , number_literal , (binary_expression "PTR_UINT_003a8950 + -0xdcc" identifier + number_literal) , identifier ))) ;) (expression_statement "(*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);" (call_expression "(*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2)" (parenthesized_expression "(*(code *)PTR_SetImageProperty_003a9534)" ( (pointer_expression "*(code *)PTR_SetImageProperty_003a9534" * (cast_expression "(code *)PTR_SetImageProperty_003a9534" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,auStack_105c,pbVar21,param_2)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);" (assignment_expression "puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6)" identifier = (cast_expression "(undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_EOFBlob_003a9748)(iVar6)" (parenthesized_expression "(*(code *)PTR_EOFBlob_003a9748)" ( (pointer_expression "*(code *)PTR_EOFBlob_003a9748" * (cast_expression "(code *)PTR_EOFBlob_003a9748" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))))) ;) })) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);\n        if ((lVar31 == 0) || (iVar7 == -1)) break;\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);\n        if ((lVar31 == 0) || (iVar7 == -1)) break;\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      }" { (expression_statement "uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);" (assignment_expression "uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6)" identifier = (call_expression "(*(code *)PTR_TellBlob_003a931c)(iVar6)" (parenthesized_expression "(*(code *)PTR_TellBlob_003a931c)" ( (pointer_expression "*(code *)PTR_TellBlob_003a931c" * (cast_expression "(code *)PTR_TellBlob_003a931c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);" (assignment_expression "lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40)" identifier = (call_expression "(*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40)" (parenthesized_expression "(*(code *)PTR_FUN_003a8a78)" ( (pointer_expression "*(code *)PTR_FUN_003a8a78" * (cast_expression "(code *)PTR_FUN_003a8a78" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40)" ( (cast_expression "(int)((ulonglong)uVar30 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar30 >> 0x20)" ( (binary_expression "(ulonglong)uVar30 >> 0x20" (cast_expression "(ulonglong)uVar30" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (cast_expression "(int)uVar30" ( (type_descriptor "int" primitive_type) ) identifier) , number_literal , number_literal )))) ;) (if_statement "if ((lVar31 == 0) || (iVar7 == -1)) break;" if (parenthesized_expression "((lVar31 == 0) || (iVar7 == -1))" ( (binary_expression "(lVar31 == 0) || (iVar7 == -1)" (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar7 == -1)" ( (binary_expression "iVar7 == -1" identifier == number_literal) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);" (assignment_expression "iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) })) (if_statement "if (local_1100 == 0) goto LAB_00224bd4;" if (parenthesized_expression "(local_1100 == 0)" ( (binary_expression "local_1100 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00224bd4;" goto statement_identifier ;)) (if_statement "if (local_10f8 + -8 < &DAT_00000019) {\n        if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;\n      }\n      else if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }" if (parenthesized_expression "(local_10f8 + -8 < &DAT_00000019)" ( (binary_expression "local_10f8 + -8 < &DAT_00000019" (binary_expression "local_10f8 + -8" identifier + number_literal) < (pointer_expression "&DAT_00000019" & identifier)) )) (compound_statement "{\n        if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;\n      }" { (if_statement "if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;" if (parenthesized_expression "(-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f))" ( (binary_expression "-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)" number_literal < (cast_expression "(int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)" ( (binary_expression "(0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f" (parenthesized_expression "(0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f))" ( (binary_expression "0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)" number_literal >> (parenthesized_expression "((uint)(local_10f8 + -8) & 0x1f)" ( (binary_expression "(uint)(local_10f8 + -8) & 0x1f" (call_expression "(uint)(local_10f8 + -8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_10f8 + -8)" ( (binary_expression "local_10f8 + -8" identifier + number_literal) ))) & number_literal) ))) )) << number_literal) )))) )) (goto_statement "goto LAB_002245cc;" goto statement_identifier ;)) }) (else_clause "else if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }" else (if_statement "if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }" if (parenthesized_expression "(local_10f8 != (undefined1 *)0x40)" ( (binary_expression "local_10f8 != (undefined1 *)0x40" identifier != (cast_expression "(undefined1 *)0x40" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }" { (labeled_statement "LAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }" statement_identifier : (if_statement "if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }" if (parenthesized_expression "(((uint)local_10f8 & 0xffffffdf) != 0xffffffc0)" ( (binary_expression "((uint)local_10f8 & 0xffffffdf) != 0xffffffc0" (parenthesized_expression "((uint)local_10f8 & 0xffffffdf)" ( (binary_expression "(uint)local_10f8 & 0xffffffdf" (cast_expression "(uint)local_10f8" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }" { (if_statement "if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }" if (parenthesized_expression "(local_110c != (undefined1  [4])0x0)" ( (binary_expression "local_110c != (undefined1  [4])0x0" identifier != (cast_expression "(undefined1  [4])0x0" ( (type_descriptor "undefined1  [4]" type_identifier (abstract_array_declarator "[4]" [ number_literal ])) ) number_literal)) )) (compound_statement "{\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }" { (expression_statement "local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();" (assignment_expression "local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)()" identifier = (call_expression "(undefined1  [4])(*(code *)PTR_DestroyString_003a9074)()" (call_expression "(undefined1  [4])(*(code *)PTR_DestroyString_003a9074)" (parenthesized_expression "(undefined1  [4])" ( (subscript_expression "undefined1  [4]" identifier [ number_literal ]) )) (argument_list "(*(code *)PTR_DestroyString_003a9074)" ( (pointer_expression "*(code *)PTR_DestroyString_003a9074" * (cast_expression "(code *)PTR_DestroyString_003a9074" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) (argument_list "()" ( )))) ;) })) (expression_statement "uVar20 = 400;" (assignment_expression "uVar20 = 400" identifier = number_literal) ;) (expression_statement "puVar17 = PTR_s_courses_003a88ec + -400;" (assignment_expression "puVar17 = PTR_s_courses_003a88ec + -400" identifier = (binary_expression "PTR_s_courses_003a88ec + -400" identifier + number_literal)) ;) (goto_statement "goto LAB_00224c3c;" goto statement_identifier ;) }))) })))) }) while (parenthesized_expression "(((local_10fc == 0) || (3 < local_10ec - 1U)) ||\n            (lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0))" ( (binary_expression "((local_10fc == 0) || (3 < local_10ec - 1U)) ||\n            (lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0)" (parenthesized_expression "((local_10fc == 0) || (3 < local_10ec - 1U))" ( (binary_expression "(local_10fc == 0) || (3 < local_10ec - 1U)" (parenthesized_expression "(local_10fc == 0)" ( (binary_expression "local_10fc == 0" identifier == number_literal) )) || (parenthesized_expression "(3 < local_10ec - 1U)" ( (binary_expression "3 < local_10ec - 1U" number_literal < (binary_expression "local_10ec - 1U" identifier - number_literal)) ))) )) || (parenthesized_expression "(lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0)" ( (comma_expression "lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0" (assignment_expression "lVar33 = (longlong)local_10f4 * (longlong)local_10f0" identifier = (binary_expression "(longlong)local_10f4 * (longlong)local_10f0" (cast_expression "(longlong)local_10f4" ( (type_descriptor "longlong" type_identifier) ) identifier) * (cast_expression "(longlong)local_10f0" ( (type_descriptor "longlong" type_identifier) ) identifier))) , (comma_expression "uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0" (assignment_expression "uVar22 = local_10fc" identifier = identifier) , (comma_expression "iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0" (assignment_expression "iVar7 = local_10f4" identifier = identifier) , (comma_expression "iVar10 = local_10f0, lVar33 == 0" (assignment_expression "iVar10 = local_10f0" identifier = identifier) , (binary_expression "lVar33 == 0" identifier == number_literal))))) ))) )) ;) (expression_statement "local_1144 = iVar10;" (assignment_expression "local_1144 = iVar10" identifier = identifier) ;) (expression_statement "local_1148 = iVar7;" (assignment_expression "local_1148 = iVar7" identifier = identifier) ;) (expression_statement "local_10fc = uVar22;" (assignment_expression "local_10fc = uVar22" identifier = identifier) ;) (expression_statement "local_10f4 = local_1148;" (assignment_expression "local_10f4 = local_1148" identifier = identifier) ;) (expression_statement "local_10f0 = local_1144;" (assignment_expression "local_10f0 = local_1144" identifier = identifier) ;) (if_statement "if (local_110c != (undefined1  [4])0x0) {\n      (*(code *)PTR_SetImageProperty_003a9534)\n                (iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)\n      ;\n      local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c);\n    }" if (parenthesized_expression "(local_110c != (undefined1  [4])0x0)" ( (binary_expression "local_110c != (undefined1  [4])0x0" identifier != (cast_expression "(undefined1  [4])0x0" ( (type_descriptor "undefined1  [4]" type_identifier (abstract_array_declarator "[4]" [ number_literal ])) ) number_literal)) )) (compound_statement "{\n      (*(code *)PTR_SetImageProperty_003a9534)\n                (iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)\n      ;\n      local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c);\n    }" { (expression_statement "(*(code *)PTR_SetImageProperty_003a9534)\n                (iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)\n      ;" (call_expression "(*(code *)PTR_SetImageProperty_003a9534)\n                (iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)" (parenthesized_expression "(*(code *)PTR_SetImageProperty_003a9534)" ( (pointer_expression "*(code *)PTR_SetImageProperty_003a9534" * (cast_expression "(code *)PTR_SetImageProperty_003a9534" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)" ( identifier , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c);" (assignment_expression "local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c)" identifier = (call_expression "(undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c)" (call_expression "(undefined1  [4])(*(code *)PTR_DestroyString_003a9074)" (parenthesized_expression "(undefined1  [4])" ( (subscript_expression "undefined1  [4]" identifier [ number_literal ]) )) (argument_list "(*(code *)PTR_DestroyString_003a9074)" ( (pointer_expression "*(code *)PTR_DestroyString_003a9074" * (cast_expression "(code *)PTR_DestroyString_003a9074" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) (argument_list "(local_110c)" ( identifier )))) ;) })) (expression_statement "iVar7 = (int)lVar33;" (assignment_expression "iVar7 = (int)lVar33" identifier = (cast_expression "(int)lVar33" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "lVar31 = CONCAT44(iVar7,puVar8);" (assignment_expression "lVar31 = CONCAT44(iVar7,puVar8)" identifier = (call_expression "CONCAT44(iVar7,puVar8)" identifier (argument_list "(iVar7,puVar8)" ( identifier , identifier )))) ;) (expression_statement "iVar10 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);" (assignment_expression "iVar10 = (*(code *)PTR_EOFBlob_003a9748)(iVar6)" identifier = (call_expression "(*(code *)PTR_EOFBlob_003a9748)(iVar6)" (parenthesized_expression "(*(code *)PTR_EOFBlob_003a9748)" ( (pointer_expression "*(code *)PTR_EOFBlob_003a9748" * (cast_expression "(code *)PTR_EOFBlob_003a9748" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (if_statement "if (iVar10 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\n    }" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\n    }" { (expression_statement "puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_003a99b0)()" (parenthesized_expression "(*(code *)PTR___errno_location_003a99b0)" ( (pointer_expression "*(code *)PTR___errno_location_003a99b0" * (cast_expression "(code *)PTR___errno_location_003a99b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);" (assignment_expression "uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14)" identifier = (call_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14)" (parenthesized_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)" ( (pointer_expression "*(code *)PTR_GetExceptionMessage_003a93ec" * (cast_expression "(code *)PTR_GetExceptionMessage_003a93ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar14)" ( (pointer_expression "*puVar14" * identifier) )))) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20)" (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_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xe40" identifier + number_literal) , (binary_expression "PTR_UINT_003a8950 + -0xc70" identifier + number_literal) , number_literal , number_literal , (binary_expression "PTR_s_courses_003a88ec + -0x17c" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0xe78" identifier + number_literal) , (binary_expression "iVar6 + 0x340" identifier + number_literal) , identifier ))) ;) (expression_statement "(*(code *)PTR_DestroyString_003a9074)(uVar20);" (call_expression "(*(code *)PTR_DestroyString_003a9074)(uVar20)" (parenthesized_expression "(*(code *)PTR_DestroyString_003a9074)" ( (pointer_expression "*(code *)PTR_DestroyString_003a9074" * (cast_expression "(code *)PTR_DestroyString_003a9074" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar20)" ( identifier ))) ;) })) (if_statement "if (((uVar22 != 0) && (local_10ec - 1U < 4)) && (lVar33 != 0)) {\n      local_1138 = local_10e8;\n      if (0 < (int)local_10e8) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = local_10f8;\n        local_1124 = local_10c0;\n        puVar8 = local_10f8;\n        if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }\n        iVar7 = -1;\n        if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }\n        puVar8 = puVar8 + -1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar11 = 2 << ((uint)puVar8 & 0x1f);\n        local_1128 = iVar7 * (int)local_10f8;\n        uVar13 = uVar11;\n        uVar22 = 1 >> (~(uint)puVar8 & 0x1f);\n        if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar13 - 1;\n        local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);\n        goto LAB_00224900;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224e60;\n    }" if (parenthesized_expression "(((uVar22 != 0) && (local_10ec - 1U < 4)) && (lVar33 != 0))" ( (binary_expression "((uVar22 != 0) && (local_10ec - 1U < 4)) && (lVar33 != 0)" (parenthesized_expression "((uVar22 != 0) && (local_10ec - 1U < 4))" ( (binary_expression "(uVar22 != 0) && (local_10ec - 1U < 4)" (parenthesized_expression "(uVar22 != 0)" ( (binary_expression "uVar22 != 0" identifier != number_literal) )) && (parenthesized_expression "(local_10ec - 1U < 4)" ( (binary_expression "local_10ec - 1U < 4" (binary_expression "local_10ec - 1U" identifier - number_literal) < number_literal) ))) )) && (parenthesized_expression "(lVar33 != 0)" ( (binary_expression "lVar33 != 0" identifier != number_literal) ))) )) (compound_statement "{\n      local_1138 = local_10e8;\n      if (0 < (int)local_10e8) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = local_10f8;\n        local_1124 = local_10c0;\n        puVar8 = local_10f8;\n        if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }\n        iVar7 = -1;\n        if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }\n        puVar8 = puVar8 + -1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar11 = 2 << ((uint)puVar8 & 0x1f);\n        local_1128 = iVar7 * (int)local_10f8;\n        uVar13 = uVar11;\n        uVar22 = 1 >> (~(uint)puVar8 & 0x1f);\n        if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar13 - 1;\n        local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);\n        goto LAB_00224900;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224e60;\n    }" { (expression_statement "local_1138 = local_10e8;" (assignment_expression "local_1138 = local_10e8" identifier = identifier) ;) (if_statement "if (0 < (int)local_10e8) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = local_10f8;\n        local_1124 = local_10c0;\n        puVar8 = local_10f8;\n        if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }\n        iVar7 = -1;\n        if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }\n        puVar8 = puVar8 + -1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar11 = 2 << ((uint)puVar8 & 0x1f);\n        local_1128 = iVar7 * (int)local_10f8;\n        uVar13 = uVar11;\n        uVar22 = 1 >> (~(uint)puVar8 & 0x1f);\n        if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar13 - 1;\n        local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);\n        goto LAB_00224900;\n      }" if (parenthesized_expression "(0 < (int)local_10e8)" ( (binary_expression "0 < (int)local_10e8" number_literal < (cast_expression "(int)local_10e8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        local_1154 = (undefined *)0x0;\n        local_1158 = local_10f8;\n        local_1124 = local_10c0;\n        puVar8 = local_10f8;\n        if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }\n        iVar7 = -1;\n        if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }\n        puVar8 = puVar8 + -1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar11 = 2 << ((uint)puVar8 & 0x1f);\n        local_1128 = iVar7 * (int)local_10f8;\n        uVar13 = uVar11;\n        uVar22 = 1 >> (~(uint)puVar8 & 0x1f);\n        if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar13 - 1;\n        local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);\n        goto LAB_00224900;\n      }" { (expression_statement "local_1154 = (undefined *)0x0;" (assignment_expression "local_1154 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_1158 = local_10f8;" (assignment_expression "local_1158 = local_10f8" identifier = identifier) ;) (expression_statement "local_1124 = local_10c0;" (assignment_expression "local_1124 = local_10c0" identifier = identifier) ;) (expression_statement "puVar8 = local_10f8;" (assignment_expression "puVar8 = local_10f8" identifier = identifier) ;) (if_statement "if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }" if (parenthesized_expression "((undefined1 *)0x40 < local_10f8)" ( (binary_expression "(undefined1 *)0x40 < local_10f8" (cast_expression "(undefined1 *)0x40" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n          puVar8 = (undefined1 *)0x0;\n        }" { (expression_statement "puVar8 = (undefined1 *)0x0;" (assignment_expression "puVar8 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "iVar7 = -1;" (assignment_expression "iVar7 = -1" identifier = number_literal) ;) (if_statement "if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }" if (parenthesized_expression "(-1 < (int)local_10f8)" ( (binary_expression "-1 < (int)local_10f8" number_literal < (cast_expression "(int)local_10f8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          iVar7 = 1;\n        }" { (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;) })) (expression_statement "puVar8 = puVar8 + -1;" (assignment_expression "puVar8 = puVar8 + -1" identifier = (binary_expression "puVar8 + -1" identifier + number_literal)) ;) (expression_statement "local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);" (assignment_expression "local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78)" identifier = (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1a78)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1a78)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1a78)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1a78" identifier + number_literal) ))))) ;) (expression_statement "in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);" (assignment_expression "in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8)" identifier = (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x13f8)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x13f8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x13f8)" ( (binary_expression "PTR_LAB_003a88e0 + 0x13f8" identifier + number_literal) ))))) ;) (expression_statement "in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);" (assignment_expression "in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58)" identifier = (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1a58)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1a58)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1a58" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = 2 << ((uint)puVar8 & 0x1f);" (assignment_expression "uVar11 = 2 << ((uint)puVar8 & 0x1f)" identifier = (binary_expression "2 << ((uint)puVar8 & 0x1f)" number_literal << (parenthesized_expression "((uint)puVar8 & 0x1f)" ( (binary_expression "(uint)puVar8 & 0x1f" (cast_expression "(uint)puVar8" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "local_1128 = iVar7 * (int)local_10f8;" (assignment_expression "local_1128 = iVar7 * (int)local_10f8" identifier = (binary_expression "iVar7 * (int)local_10f8" identifier * (cast_expression "(int)local_10f8" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = uVar11;" (assignment_expression "uVar13 = uVar11" identifier = identifier) ;) (expression_statement "uVar22 = 1 >> (~(uint)puVar8 & 0x1f);" (assignment_expression "uVar22 = 1 >> (~(uint)puVar8 & 0x1f)" identifier = (binary_expression "1 >> (~(uint)puVar8 & 0x1f)" number_literal >> (parenthesized_expression "(~(uint)puVar8 & 0x1f)" ( (binary_expression "~(uint)puVar8 & 0x1f" (unary_expression "~(uint)puVar8" ~ (cast_expression "(uint)puVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) & number_literal) )))) ;) (if_statement "if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }" if (parenthesized_expression "(((uint)puVar8 & 0x20) != 0)" ( (binary_expression "((uint)puVar8 & 0x20) != 0" (parenthesized_expression "((uint)puVar8 & 0x20)" ( (binary_expression "(uint)puVar8 & 0x20" (cast_expression "(uint)puVar8" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "uVar22 = uVar11;" (assignment_expression "uVar22 = uVar11" identifier = identifier) ;) })) (expression_statement "local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;" (assignment_expression "local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0" identifier = (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0" identifier + number_literal)) ;) (expression_statement "local_111c = uVar13 - 1;" (assignment_expression "local_111c = uVar13 - 1" identifier = (binary_expression "uVar13 - 1" identifier - number_literal)) ;) (expression_statement "local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);" (assignment_expression "local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1)" identifier = (binary_expression "(uint)(local_111c < uVar13) + (uVar22 - 1)" (call_expression "(uint)(local_111c < uVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_111c < uVar13)" ( (binary_expression "local_111c < uVar13" identifier < identifier) ))) + (parenthesized_expression "(uVar22 - 1)" ( (binary_expression "uVar22 - 1" identifier - number_literal) )))) ;) (goto_statement "goto LAB_00224900;" goto statement_identifier ;) })) (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(iVar6);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(iVar6)" (parenthesized_expression "(*(code *)PTR_CloseBlob_003a9688)" ( (pointer_expression "*(code *)PTR_CloseBlob_003a9688" * (cast_expression "(code *)PTR_CloseBlob_003a9688" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))) ;) (goto_statement "goto LAB_00224e60;" goto statement_identifier ;) })) (expression_statement "uVar20 = 0x1a5;" (assignment_expression "uVar20 = 0x1a5" identifier = number_literal) ;) (expression_statement "puVar17 = PTR_UINT_003a8950 + -0x2c10;" (assignment_expression "puVar17 = PTR_UINT_003a8950 + -0x2c10" identifier = (binary_expression "PTR_UINT_003a8950 + -0x2c10" identifier + number_literal)) ;) (labeled_statement "LAB_00224c3c:\n    lVar31 = CONCAT44(iVar7,puVar8);" statement_identifier : (expression_statement "lVar31 = CONCAT44(iVar7,puVar8);" (assignment_expression "lVar31 = CONCAT44(iVar7,puVar8)" identifier = (call_expression "CONCAT44(iVar7,puVar8)" identifier (argument_list "(iVar7,puVar8)" ( identifier , identifier )))) ;)) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar20,0x1a9,puVar17,\n               PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x2210);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar20,0x1a9,puVar17,\n               PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x2210)" (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_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar20,0x1a9,puVar17,\n               PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x2210)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xe40" identifier + number_literal) , (binary_expression "PTR_UINT_003a8950 + -0xc70" identifier + number_literal) , identifier , number_literal , identifier , (binary_expression "PTR_LAB_003a88e0 + 0x3e28" identifier + number_literal) , (binary_expression "param_1 + 0x2210" identifier + number_literal) ))) ;) (if_statement "if (iVar6 != 0) {\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    }" { (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(iVar6);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(iVar6)" (parenthesized_expression "(*(code *)PTR_CloseBlob_003a9688)" ( (pointer_expression "*(code *)PTR_CloseBlob_003a9688" * (cast_expression "(code *)PTR_CloseBlob_003a9688" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_DestroyImageList_003a9510)(iVar6);" (call_expression "(*(code *)PTR_DestroyImageList_003a9510)(iVar6)" (parenthesized_expression "(*(code *)PTR_DestroyImageList_003a9510)" ( (pointer_expression "*(code *)PTR_DestroyImageList_003a9510" * (cast_expression "(code *)PTR_DestroyImageList_003a9510" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))) ;) })) (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (expression_statement "dVar26 = in_f22_23;" (assignment_expression "dVar26 = in_f22_23" identifier = identifier) ;) }))) (labeled_statement "LAB_00224c7c:\n  uVar2 = (ulonglong)lVar31 >> 0x20;" statement_identifier : (expression_statement "uVar2 = (ulonglong)lVar31 >> 0x20;" (assignment_expression "uVar2 = (ulonglong)lVar31 >> 0x20" identifier = (binary_expression "(ulonglong)lVar31 >> 0x20" (cast_expression "(ulonglong)lVar31" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal)) ;)) (if_statement "if (local_5c == *(int *)puVar4) {\n    return uVar20;\n  }" if (parenthesized_expression "(local_5c == *(int *)puVar4)" ( (binary_expression "local_5c == *(int *)puVar4" identifier == (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return uVar20;\n  }" { (return_statement "return uVar20;" return identifier ;) })) (expression_statement "uVar20 = (*(code *)PTR___stack_chk_fail_003a9064)();" (assignment_expression "uVar20 = (*(code *)PTR___stack_chk_fail_003a9064)()" identifier = (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 "lVar31 = CONCAT44(uVar20,(int)lVar31);" (assignment_expression "lVar31 = CONCAT44(uVar20,(int)lVar31)" identifier = (call_expression "CONCAT44(uVar20,(int)lVar31)" identifier (argument_list "(uVar20,(int)lVar31)" ( identifier , (cast_expression "(int)lVar31" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (expression_statement "uVar20 = (int)uVar2;" (assignment_expression "uVar20 = (int)uVar2" identifier = (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (labeled_statement "LAB_002252f8:\n  uVar2 = (ulonglong)lVar31 >> 0x20;" statement_identifier : (expression_statement "uVar2 = (ulonglong)lVar31 >> 0x20;" (assignment_expression "uVar2 = (ulonglong)lVar31 >> 0x20" identifier = (binary_expression "(ulonglong)lVar31 >> 0x20" (cast_expression "(ulonglong)lVar31" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal)) ;)) (expression_statement "lVar31 = CONCAT44(uVar20,(int)lVar31);" (assignment_expression "lVar31 = CONCAT44(uVar20,(int)lVar31)" identifier = (call_expression "CONCAT44(uVar20,(int)lVar31)" identifier (argument_list "(uVar20,(int)lVar31)" ( identifier , (cast_expression "(int)lVar31" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (expression_statement "in_f22_23 = dVar26;" (assignment_expression "in_f22_23 = dVar26" identifier = identifier) ;) (if_statement "if (((int)uVar2 == 0) && (bVar1 = 1 < local_1160._4_4_, bVar1)) goto LAB_00225060;" if (parenthesized_expression "(((int)uVar2 == 0) && (bVar1 = 1 < local_1160._4_4_, bVar1))" ( (binary_expression "((int)uVar2 == 0) && (bVar1 = 1 < local_1160._4_4_, bVar1)" (parenthesized_expression "((int)uVar2 == 0)" ( (binary_expression "(int)uVar2 == 0" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) && (parenthesized_expression "(bVar1 = 1 < local_1160._4_4_, bVar1)" ( (comma_expression "bVar1 = 1 < local_1160._4_4_, bVar1" (assignment_expression "bVar1 = 1 < local_1160._4_4_" identifier = (binary_expression "1 < local_1160._4_4_" number_literal < (field_expression "local_1160._4_4_" identifier . field_identifier))) , identifier) ))) )) (goto_statement "goto LAB_00225060;" goto statement_identifier ;)) (labeled_statement "LAB_0022511c:\n  (*(code *)PTR_SeekBlob_003a9328)(iVar6);" statement_identifier : (expression_statement "(*(code *)PTR_SeekBlob_003a9328)(iVar6);" (call_expression "(*(code *)PTR_SeekBlob_003a9328)(iVar6)" (parenthesized_expression "(*(code *)PTR_SeekBlob_003a9328)" ( (pointer_expression "*(code *)PTR_SeekBlob_003a9328" * (cast_expression "(code *)PTR_SeekBlob_003a9328" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))) ;)) (expression_statement "dVar28 = local_10d8;" (assignment_expression "dVar28 = local_10d8" identifier = identifier) ;) (labeled_statement "LAB_002249f4:\n  local_10d8 = dVar28;" statement_identifier : (expression_statement "local_10d8 = dVar28;" (assignment_expression "local_10d8 = dVar28" identifier = identifier) ;)) (expression_statement "dVar26 = dVar26 - in_f22_23;" (assignment_expression "dVar26 = dVar26 - in_f22_23" identifier = (binary_expression "dVar26 - in_f22_23" identifier - identifier)) ;) (do_statement "do {\n    iVar7 = (int)((ulonglong)lVar31 >> 0x20);\n    local_1140 = (uint)((ulonglong)dVar26 >> 0x20);\n    if (0.0 <= dVar26) {\n      dVar28 = *(double *)(local_1134 + 0x1438);\n    }\n    else {\n      local_1140 = local_1140 ^ 0x80000000;\n      dVar28 = local_1118;\n    }\n    if (in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar26,0))) {\n      dVar28 = *(double *)(local_1134 + 0x1438) / dVar26;\n    }\n    else {\n      dVar28 = dVar28 / in_f28_29;\n    }\n    uVar22 = *(int *)(iVar6 + 0x1c) - 1;\n    dVar28 = dVar28 * in_f30_31;\n    if (-1 < (int)uVar22) {\n      local_1160 = CONCAT44((int)uVar22 >> 0x1f,local_1160._4_4_);\n      uVar13 = uVar22;\n      while( true ) {\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2);\n        if (iVar10 == 0) break;\n        if (0 < *(int *)(iVar6 + 0x18)) {\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2);\n        if ((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))) break;\n        uVar22 = uVar22 - 1;\n        iVar7 = local_1160._0_4_ + -1;\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_);\n        uVar13 = uVar13 - 1;\n        if (uVar22 == 0xffffffff) break;\n      }\n    }\n    iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n    if (iVar7 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\nLAB_00224e4c:\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      if (local_114c == 0) {\nLAB_00224fc0:\n        uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      else {\nLAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      goto LAB_00224c7c;\n    }\n    if ((*(int *)(param_1 + 0x2c) != 0) &&\n       ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= *(uint *)(iVar6 + 0x26c)))\n    goto LAB_00224e4c;\n    if ((int)local_1154 < (int)(local_1138 + -1)) {\n      (*(code *)PTR_AcquireNextImage_003a8f90)(param_1,iVar6,param_2);\n      iVar7 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar6);\n      if (iVar7 != 0) {\n        iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6);\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32);\n        if (local_114c != 0) goto LAB_00224e34;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224fc0;\n    }\nLAB_00224e34:\n    local_1154 = local_1154 + 1;\n    if (local_1154 == local_1138) goto LAB_00224e4c;\nLAB_00224900:\n    iVar7 = *(int *)(param_1 + 0x1dc);\n    *(int *)(iVar6 + 0x18) = local_1148;\n    *(int *)(iVar6 + 0x1c) = local_1144;\n    *(int *)(iVar6 + 0x20) = local_1128;\n    *(undefined4 *)(iVar6 + 0x25c) = local_1124;\n    *(undefined **)(iVar6 + 0x26c) = local_1154;\n    if (((iVar7 != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n       ((undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1) <= local_1154))\n    goto LAB_00224e4c;\n    local_114c = (*(code *)PTR_SetImageExtent_003a94ac)(iVar6,local_1148,local_1144,param_2);\n    if (local_114c == 0) goto LAB_00224fc0;\n    (*(code *)PTR_SetImageColorspace_003a8d40)(iVar6,3,param_2);\n    in_f22_23 = local_10e0;\n    if ((local_10e0 != 0.0) || (local_10d8 != 0.0)) {\n      if (local_1158 != (undefined1 *)0x0) goto LAB_002249dc;\n      dVar26 = 0.0;\n      dVar28 = dVar26;\n      goto LAB_002249f4;\n    }\n    if (((uint)local_1158 & 0xffffffdf) != 0xffffffc0) break;\n    dVar26 = local_10d8;\n    lVar33 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n    if (lVar33 != -1) {\n      lVar31 = (ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)*(uint *)(iVar6 + 0x1c);\n      uVar22 = *(uint *)(iVar6 + 0x20) >> 3;\n      if (uVar22 == 2) {\n        sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n        dVar26 = (double)(int)sVar15;\n      }\n      else if (uVar22 == 4) {\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }\n      else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }\n      local_1160._0_4_ = (int)((ulonglong)lVar31 >> 0x20);\n      uVar20 = local_1160._0_4_;\n      local_1160 = lVar31;\n      local_10e0 = dVar26;\n      local_10d8 = dVar26;\n      if (0xffffffff < lVar31) goto LAB_00225060;\n      goto LAB_002252f8;\n    }\n    dVar26 = dVar26 - in_f22_23;\n  } while( true );" do (compound_statement "{\n    iVar7 = (int)((ulonglong)lVar31 >> 0x20);\n    local_1140 = (uint)((ulonglong)dVar26 >> 0x20);\n    if (0.0 <= dVar26) {\n      dVar28 = *(double *)(local_1134 + 0x1438);\n    }\n    else {\n      local_1140 = local_1140 ^ 0x80000000;\n      dVar28 = local_1118;\n    }\n    if (in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar26,0))) {\n      dVar28 = *(double *)(local_1134 + 0x1438) / dVar26;\n    }\n    else {\n      dVar28 = dVar28 / in_f28_29;\n    }\n    uVar22 = *(int *)(iVar6 + 0x1c) - 1;\n    dVar28 = dVar28 * in_f30_31;\n    if (-1 < (int)uVar22) {\n      local_1160 = CONCAT44((int)uVar22 >> 0x1f,local_1160._4_4_);\n      uVar13 = uVar22;\n      while( true ) {\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2);\n        if (iVar10 == 0) break;\n        if (0 < *(int *)(iVar6 + 0x18)) {\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2);\n        if ((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))) break;\n        uVar22 = uVar22 - 1;\n        iVar7 = local_1160._0_4_ + -1;\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_);\n        uVar13 = uVar13 - 1;\n        if (uVar22 == 0xffffffff) break;\n      }\n    }\n    iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n    if (iVar7 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\nLAB_00224e4c:\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      if (local_114c == 0) {\nLAB_00224fc0:\n        uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      else {\nLAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      goto LAB_00224c7c;\n    }\n    if ((*(int *)(param_1 + 0x2c) != 0) &&\n       ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= *(uint *)(iVar6 + 0x26c)))\n    goto LAB_00224e4c;\n    if ((int)local_1154 < (int)(local_1138 + -1)) {\n      (*(code *)PTR_AcquireNextImage_003a8f90)(param_1,iVar6,param_2);\n      iVar7 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar6);\n      if (iVar7 != 0) {\n        iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6);\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32);\n        if (local_114c != 0) goto LAB_00224e34;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224fc0;\n    }\nLAB_00224e34:\n    local_1154 = local_1154 + 1;\n    if (local_1154 == local_1138) goto LAB_00224e4c;\nLAB_00224900:\n    iVar7 = *(int *)(param_1 + 0x1dc);\n    *(int *)(iVar6 + 0x18) = local_1148;\n    *(int *)(iVar6 + 0x1c) = local_1144;\n    *(int *)(iVar6 + 0x20) = local_1128;\n    *(undefined4 *)(iVar6 + 0x25c) = local_1124;\n    *(undefined **)(iVar6 + 0x26c) = local_1154;\n    if (((iVar7 != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n       ((undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1) <= local_1154))\n    goto LAB_00224e4c;\n    local_114c = (*(code *)PTR_SetImageExtent_003a94ac)(iVar6,local_1148,local_1144,param_2);\n    if (local_114c == 0) goto LAB_00224fc0;\n    (*(code *)PTR_SetImageColorspace_003a8d40)(iVar6,3,param_2);\n    in_f22_23 = local_10e0;\n    if ((local_10e0 != 0.0) || (local_10d8 != 0.0)) {\n      if (local_1158 != (undefined1 *)0x0) goto LAB_002249dc;\n      dVar26 = 0.0;\n      dVar28 = dVar26;\n      goto LAB_002249f4;\n    }\n    if (((uint)local_1158 & 0xffffffdf) != 0xffffffc0) break;\n    dVar26 = local_10d8;\n    lVar33 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n    if (lVar33 != -1) {\n      lVar31 = (ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)*(uint *)(iVar6 + 0x1c);\n      uVar22 = *(uint *)(iVar6 + 0x20) >> 3;\n      if (uVar22 == 2) {\n        sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n        dVar26 = (double)(int)sVar15;\n      }\n      else if (uVar22 == 4) {\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }\n      else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }\n      local_1160._0_4_ = (int)((ulonglong)lVar31 >> 0x20);\n      uVar20 = local_1160._0_4_;\n      local_1160 = lVar31;\n      local_10e0 = dVar26;\n      local_10d8 = dVar26;\n      if (0xffffffff < lVar31) goto LAB_00225060;\n      goto LAB_002252f8;\n    }\n    dVar26 = dVar26 - in_f22_23;\n  }" { (expression_statement "iVar7 = (int)((ulonglong)lVar31 >> 0x20);" (assignment_expression "iVar7 = (int)((ulonglong)lVar31 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)lVar31 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar31 >> 0x20)" ( (binary_expression "(ulonglong)lVar31 >> 0x20" (cast_expression "(ulonglong)lVar31" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_1140 = (uint)((ulonglong)dVar26 >> 0x20);" (assignment_expression "local_1140 = (uint)((ulonglong)dVar26 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)dVar26 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)dVar26 >> 0x20)" ( (binary_expression "(ulonglong)dVar26 >> 0x20" (cast_expression "(ulonglong)dVar26" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (0.0 <= dVar26) {\n      dVar28 = *(double *)(local_1134 + 0x1438);\n    }\n    else {\n      local_1140 = local_1140 ^ 0x80000000;\n      dVar28 = local_1118;\n    }" if (parenthesized_expression "(0.0 <= dVar26)" ( (binary_expression "0.0 <= dVar26" number_literal <= identifier) )) (compound_statement "{\n      dVar28 = *(double *)(local_1134 + 0x1438);\n    }" { (expression_statement "dVar28 = *(double *)(local_1134 + 0x1438);" (assignment_expression "dVar28 = *(double *)(local_1134 + 0x1438)" identifier = (pointer_expression "*(double *)(local_1134 + 0x1438)" * (cast_expression "(double *)(local_1134 + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_1134 + 0x1438)" ( (binary_expression "local_1134 + 0x1438" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      local_1140 = local_1140 ^ 0x80000000;\n      dVar28 = local_1118;\n    }" else (compound_statement "{\n      local_1140 = local_1140 ^ 0x80000000;\n      dVar28 = local_1118;\n    }" { (expression_statement "local_1140 = local_1140 ^ 0x80000000;" (assignment_expression "local_1140 = local_1140 ^ 0x80000000" identifier = (binary_expression "local_1140 ^ 0x80000000" identifier ^ number_literal)) ;) (expression_statement "dVar28 = local_1118;" (assignment_expression "dVar28 = local_1118" identifier = identifier) ;) }))) (if_statement "if (in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar26,0))) {\n      dVar28 = *(double *)(local_1134 + 0x1438) / dVar26;\n    }\n    else {\n      dVar28 = dVar28 / in_f28_29;\n    }" if (parenthesized_expression "(in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar26,0)))" ( (binary_expression "in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar26,0))" identifier <= (cast_expression "(double)CONCAT44(local_1140,SUB84(dVar26,0))" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(local_1140,SUB84(dVar26,0))" identifier (argument_list "(local_1140,SUB84(dVar26,0))" ( identifier , (call_expression "SUB84(dVar26,0)" identifier (argument_list "(dVar26,0)" ( identifier , number_literal ))) ))))) )) (compound_statement "{\n      dVar28 = *(double *)(local_1134 + 0x1438) / dVar26;\n    }" { (expression_statement "dVar28 = *(double *)(local_1134 + 0x1438) / dVar26;" (assignment_expression "dVar28 = *(double *)(local_1134 + 0x1438) / dVar26" identifier = (binary_expression "*(double *)(local_1134 + 0x1438) / dVar26" (pointer_expression "*(double *)(local_1134 + 0x1438)" * (cast_expression "(double *)(local_1134 + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_1134 + 0x1438)" ( (binary_expression "local_1134 + 0x1438" identifier + number_literal) )))) / identifier)) ;) }) (else_clause "else {\n      dVar28 = dVar28 / in_f28_29;\n    }" else (compound_statement "{\n      dVar28 = dVar28 / in_f28_29;\n    }" { (expression_statement "dVar28 = dVar28 / in_f28_29;" (assignment_expression "dVar28 = dVar28 / in_f28_29" identifier = (binary_expression "dVar28 / in_f28_29" identifier / identifier)) ;) }))) (expression_statement "uVar22 = *(int *)(iVar6 + 0x1c) - 1;" (assignment_expression "uVar22 = *(int *)(iVar6 + 0x1c) - 1" identifier = (binary_expression "*(int *)(iVar6 + 0x1c) - 1" (pointer_expression "*(int *)(iVar6 + 0x1c)" * (cast_expression "(int *)(iVar6 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x1c)" ( (binary_expression "iVar6 + 0x1c" identifier + number_literal) )))) - number_literal)) ;) (expression_statement "dVar28 = dVar28 * in_f30_31;" (assignment_expression "dVar28 = dVar28 * in_f30_31" identifier = (binary_expression "dVar28 * in_f30_31" identifier * identifier)) ;) (if_statement "if (-1 < (int)uVar22) {\n      local_1160 = CONCAT44((int)uVar22 >> 0x1f,local_1160._4_4_);\n      uVar13 = uVar22;\n      while( true ) {\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2);\n        if (iVar10 == 0) break;\n        if (0 < *(int *)(iVar6 + 0x18)) {\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2);\n        if ((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))) break;\n        uVar22 = uVar22 - 1;\n        iVar7 = local_1160._0_4_ + -1;\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_);\n        uVar13 = uVar13 - 1;\n        if (uVar22 == 0xffffffff) break;\n      }\n    }" if (parenthesized_expression "(-1 < (int)uVar22)" ( (binary_expression "-1 < (int)uVar22" number_literal < (cast_expression "(int)uVar22" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      local_1160 = CONCAT44((int)uVar22 >> 0x1f,local_1160._4_4_);\n      uVar13 = uVar22;\n      while( true ) {\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2);\n        if (iVar10 == 0) break;\n        if (0 < *(int *)(iVar6 + 0x18)) {\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2);\n        if ((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))) break;\n        uVar22 = uVar22 - 1;\n        iVar7 = local_1160._0_4_ + -1;\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_);\n        uVar13 = uVar13 - 1;\n        if (uVar22 == 0xffffffff) break;\n      }\n    }" { (expression_statement "local_1160 = CONCAT44((int)uVar22 >> 0x1f,local_1160._4_4_);" (assignment_expression "local_1160 = CONCAT44((int)uVar22 >> 0x1f,local_1160._4_4_)" identifier = (call_expression "CONCAT44((int)uVar22 >> 0x1f,local_1160._4_4_)" identifier (argument_list "((int)uVar22 >> 0x1f,local_1160._4_4_)" ( (binary_expression "(int)uVar22 >> 0x1f" (cast_expression "(int)uVar22" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) , (field_expression "local_1160._4_4_" identifier . field_identifier) )))) ;) (expression_statement "uVar13 = uVar22;" (assignment_expression "uVar13 = uVar22" identifier = identifier) ;) (while_statement "while( true ) {\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2);\n        if (iVar10 == 0) break;\n        if (0 < *(int *)(iVar6 + 0x18)) {\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2);\n        if ((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))) break;\n        uVar22 = uVar22 - 1;\n        iVar7 = local_1160._0_4_ + -1;\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_);\n        uVar13 = uVar13 - 1;\n        if (uVar22 == 0xffffffff) break;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2);\n        if (iVar10 == 0) break;\n        if (0 < *(int *)(iVar6 + 0x18)) {\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2);\n        if ((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))) break;\n        uVar22 = uVar22 - 1;\n        iVar7 = local_1160._0_4_ + -1;\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_);\n        uVar13 = uVar13 - 1;\n        if (uVar22 == 0xffffffff) break;\n      }" { (expression_statement "lVar31 = CONCAT44(iVar7,&local_1108);" (assignment_expression "lVar31 = CONCAT44(iVar7,&local_1108)" identifier = (call_expression "CONCAT44(iVar7,&local_1108)" identifier (argument_list "(iVar7,&local_1108)" ( identifier , (pointer_expression "&local_1108" & identifier) )))) ;) (expression_statement "iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2);" (assignment_expression "iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2)" identifier = (call_expression "(*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2)" (parenthesized_expression "(*(code *)PTR_QueueAuthenticPixels_003a8f24)" ( (pointer_expression "*(code *)PTR_QueueAuthenticPixels_003a8f24" * (cast_expression "(code *)PTR_QueueAuthenticPixels_003a8f24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2)" ( identifier , number_literal , identifier , (pointer_expression "*(undefined4 *)(iVar6 + 0x18)" * (cast_expression "(undefined4 *)(iVar6 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) )))) , number_literal , identifier )))) ;) (if_statement "if (iVar10 == 0) break;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (0 < *(int *)(iVar6 + 0x18)) {\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }" if (parenthesized_expression "(0 < *(int *)(iVar6 + 0x18))" ( (binary_expression "0 < *(int *)(iVar6 + 0x18)" number_literal < (pointer_expression "*(int *)(iVar6 + 0x18)" * (cast_expression "(int *)(iVar6 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "uVar11 = *(uint *)(iVar6 + 0x20);" (assignment_expression "uVar11 = *(uint *)(iVar6 + 0x20)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x20)" * (cast_expression "(uint *)(iVar6 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x20)" ( (binary_expression "iVar6 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "dVar26 = local_10d0;" (assignment_expression "dVar26 = local_10d0" identifier = identifier) ;) (expression_statement "dVar29 = local_10c8;" (assignment_expression "dVar29 = local_10c8" identifier = identifier) ;) (do_statement "do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);" do (compound_statement "{\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          }" { (expression_statement "uVar11 = uVar11 >> 3;" (assignment_expression "uVar11 = uVar11 >> 3" identifier = (binary_expression "uVar11 >> 3" identifier >> number_literal)) ;) (if_statement "if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }" if (parenthesized_expression "(uVar11 == 2)" ( (binary_expression "uVar11 == 2" identifier == number_literal) )) (compound_statement "{\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }" { (expression_statement "sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);" (assignment_expression "sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6)" identifier = (call_expression "(*(code *)PTR_ReadBlobShort_003a8d80)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobShort_003a8d80)" ( (pointer_expression "*(code *)PTR_ReadBlobShort_003a8d80" * (cast_expression "(code *)PTR_ReadBlobShort_003a8d80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "local_1108 = (double)(int)sVar15;" (assignment_expression "local_1108 = (double)(int)sVar15" identifier = (cast_expression "(double)(int)sVar15" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)sVar15" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (labeled_statement "LAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);" statement_identifier : (expression_statement "uVar11 = *(uint *)(iVar6 + 0x20);" (assignment_expression "uVar11 = *(uint *)(iVar6 + 0x20)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x20)" * (cast_expression "(uint *)(iVar6 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x20)" ( (binary_expression "iVar6 + 0x20" identifier + number_literal) ))))) ;)) (if_statement "if (uVar11 == 0x10) goto LAB_00224b8c;" if (parenthesized_expression "(uVar11 == 0x10)" ( (binary_expression "uVar11 == 0x10" identifier == number_literal) )) (goto_statement "goto LAB_00224b8c;" goto statement_identifier ;)) (labeled_statement "LAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;" statement_identifier : (if_statement "if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;" if (parenthesized_expression "((uVar11 == 0x20) || (uVar11 == 0x40))" ( (binary_expression "(uVar11 == 0x20) || (uVar11 == 0x40)" (parenthesized_expression "(uVar11 == 0x20)" ( (binary_expression "uVar11 == 0x20" identifier == number_literal) )) || (parenthesized_expression "(uVar11 == 0x40)" ( (binary_expression "uVar11 == 0x40" identifier == number_literal) ))) )) (goto_statement "goto LAB_00224b8c;" goto statement_identifier ;))) }) (else_clause "else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }" else (compound_statement "{\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }" { (if_statement "if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }" if (parenthesized_expression "(2 < uVar11)" ( (binary_expression "2 < uVar11" number_literal < identifier) )) (compound_statement "{\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }" { (if_statement "if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }" if (parenthesized_expression "(uVar11 == 4)" ( (binary_expression "uVar11 == 4" identifier == number_literal) )) (compound_statement "{\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }" { (expression_statement "pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;" (assignment_expression "pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c" identifier = (cast_expression "(code *)PTR_ReadBlobSignedLong_003a968c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (0 < (int)local_1158) goto LAB_00224b68;" if (parenthesized_expression "(0 < (int)local_1158)" ( (binary_expression "0 < (int)local_1158" number_literal < (cast_expression "(int)local_1158" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00224b68;" goto statement_identifier ;)) (expression_statement "fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);" (assignment_expression "fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6)" identifier = (cast_expression "(float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6)" ( (type_descriptor "float" primitive_type) ) (call_expression "(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobFloat_003a8e98)" ( (pointer_expression "*(code *)PTR_ReadBlobFloat_003a8e98" * (cast_expression "(code *)PTR_ReadBlobFloat_003a8e98" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))))) ;) (expression_statement "local_1108 = (double)fVar27;" (assignment_expression "local_1108 = (double)fVar27" identifier = (cast_expression "(double)fVar27" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }" else (compound_statement "{\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }" { (if_statement "if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;" if (parenthesized_expression "((uVar11 != 8) || ((int)local_1158 < 1))" ( (binary_expression "(uVar11 != 8) || ((int)local_1158 < 1)" (parenthesized_expression "(uVar11 != 8)" ( (binary_expression "uVar11 != 8" identifier != number_literal) )) || (parenthesized_expression "((int)local_1158 < 1)" ( (binary_expression "(int)local_1158 < 1" (cast_expression "(int)local_1158" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) ))) )) (goto_statement "goto LAB_00224ad8;" goto statement_identifier ;)) (expression_statement "uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);" (assignment_expression "uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6)" identifier = (call_expression "(*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobLongLong_003a97a0)" ( (pointer_expression "*(code *)PTR_ReadBlobLongLong_003a97a0" * (cast_expression "(code *)PTR_ReadBlobLongLong_003a97a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);" (assignment_expression "local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30)" identifier = (cast_expression "(double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30)" (parenthesized_expression "(*(code *)PTR_FUN_003a8a60)" ( (pointer_expression "*(code *)PTR_FUN_003a8a60" * (cast_expression "(code *)PTR_FUN_003a8a60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((int)((ulonglong)uVar30 >> 0x20),(int)uVar30)" ( (cast_expression "(int)((ulonglong)uVar30 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar30 >> 0x20)" ( (binary_expression "(ulonglong)uVar30 >> 0x20" (cast_expression "(ulonglong)uVar30" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (cast_expression "(int)uVar30" ( (type_descriptor "int" primitive_type) ) identifier) ))))) ;) }))) (goto_statement "goto LAB_00224ae8;" goto statement_identifier ;) })) (expression_statement "pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;" (assignment_expression "pcVar25 = (code *)PTR_ReadBlobByte_003a97f0" identifier = (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }" if (parenthesized_expression "(uVar11 != 1)" ( (binary_expression "uVar11 != 1" identifier != number_literal) )) (compound_statement "{\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }" { (labeled_statement "LAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);" statement_identifier : (expression_statement "local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);" (assignment_expression "local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6)" identifier = (cast_expression "(double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobDouble_003a8c38)" ( (pointer_expression "*(code *)PTR_ReadBlobDouble_003a8c38" * (cast_expression "(code *)PTR_ReadBlobDouble_003a8c38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))))) ;)) (goto_statement "goto LAB_00224ae8;" goto statement_identifier ;) })) (labeled_statement "LAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);" statement_identifier : (expression_statement "iVar12 = (*pcVar25)(iVar6);" (assignment_expression "iVar12 = (*pcVar25)(iVar6)" identifier = (call_expression "(*pcVar25)(iVar6)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(iVar6)" ( identifier )))) ;)) (expression_statement "uVar11 = *(uint *)(iVar6 + 0x20);" (assignment_expression "uVar11 = *(uint *)(iVar6 + 0x20)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x20)" * (cast_expression "(uint *)(iVar6 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x20)" ( (binary_expression "iVar6 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "local_1108 = (double)iVar12;" (assignment_expression "local_1108 = (double)iVar12" identifier = (cast_expression "(double)iVar12" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (if_statement "if (uVar11 != 0x10) goto LAB_00224af8;" if (parenthesized_expression "(uVar11 != 0x10)" ( (binary_expression "uVar11 != 0x10" identifier != number_literal) )) (goto_statement "goto LAB_00224af8;" goto statement_identifier ;)) (labeled_statement "LAB_00224b8c:\n              pdVar19 = &local_1108;" statement_identifier : (expression_statement "pdVar19 = &local_1108;" (assignment_expression "pdVar19 = &local_1108" identifier = (pointer_expression "&local_1108" & identifier)) ;)) (if_statement "if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }" if (parenthesized_expression "(*(int *)(iVar6 + 0x25c) != 2)" ( (binary_expression "*(int *)(iVar6 + 0x25c) != 2" (pointer_expression "*(int *)(iVar6 + 0x25c)" * (cast_expression "(int *)(iVar6 + 0x25c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x25c)" ( (binary_expression "iVar6 + 0x25c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }" { (expression_statement "pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));" (assignment_expression "pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1))" identifier = (cast_expression "(double *)((int)&local_1108 + ((uVar11 >> 3) - 1))" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_1108 + ((uVar11 >> 3) - 1))" ( (binary_expression "(int)&local_1108 + ((uVar11 >> 3) - 1)" (cast_expression "(int)&local_1108" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_1108" & identifier)) + (parenthesized_expression "((uVar11 >> 3) - 1)" ( (binary_expression "(uVar11 >> 3) - 1" (parenthesized_expression "(uVar11 >> 3)" ( (binary_expression "uVar11 >> 3" identifier >> number_literal) )) - number_literal) ))) )))) ;) })) (expression_statement "*(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;" (assignment_expression "*(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80" (pointer_expression "*(byte *)pdVar19" * (cast_expression "(byte *)pdVar19" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "*(byte *)pdVar19 ^ 0x80" (pointer_expression "*(byte *)pdVar19" * (cast_expression "(byte *)pdVar19" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ^ number_literal)) ;) }))) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "iVar12 = *(int *)(iVar6 + 0x18);" (assignment_expression "iVar12 = *(int *)(iVar6 + 0x18)" identifier = (pointer_expression "*(int *)(iVar6 + 0x18)" * (cast_expression "(int *)(iVar6 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);" (assignment_expression "pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4)" identifier = (cast_expression "(float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4)" ( (binary_expression "iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4" identifier + (binary_expression "*(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4" (pointer_expression "*(int *)(*(int *)(iVar6 + 0x2d0) + 8)" * (cast_expression "(int *)(*(int *)(iVar6 + 0x2d0) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar6 + 0x2d0) + 8)" ( (binary_expression "*(int *)(iVar6 + 0x2d0) + 8" (pointer_expression "*(int *)(iVar6 + 0x2d0)" * (cast_expression "(int *)(iVar6 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x2d0)" ( (binary_expression "iVar6 + 0x2d0" identifier + number_literal) )))) + number_literal) )))) * number_literal)) )))) ;) (expression_statement "iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;" (assignment_expression "iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4" identifier = (binary_expression "iVar10 + *(int *)(iVar6 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar6 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar6 + 0x2c0)" * (cast_expression "(int *)(iVar6 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x2c0)" ( (binary_expression "iVar6 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "*pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);" (assignment_expression "*pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28)" (pointer_expression "*pfVar18" * identifier) = (cast_expression "(float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28)" ( (binary_expression "((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28" (parenthesized_expression "((local_1108 - in_f22_23) * dVar29 + dVar26)" ( (binary_expression "(local_1108 - in_f22_23) * dVar29 + dVar26" (binary_expression "(local_1108 - in_f22_23) * dVar29" (parenthesized_expression "(local_1108 - in_f22_23)" ( (binary_expression "local_1108 - in_f22_23" identifier - identifier) )) * identifier) + identifier) )) * identifier) )))) ;) }) while (parenthesized_expression "(iVar7 < iVar12)" ( (binary_expression "iVar7 < iVar12" identifier < identifier) )) ;) })) (expression_statement "lVar31 = CONCAT44(iVar7,&local_1108);" (assignment_expression "lVar31 = CONCAT44(iVar7,&local_1108)" identifier = (call_expression "CONCAT44(iVar7,&local_1108)" identifier (argument_list "(iVar7,&local_1108)" ( identifier , (pointer_expression "&local_1108" & identifier) )))) ;) (expression_statement "iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2);" (assignment_expression "iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2)" identifier = (call_expression "(*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2)" (parenthesized_expression "(*(code *)PTR_SyncAuthenticPixels_003a91e4)" ( (pointer_expression "*(code *)PTR_SyncAuthenticPixels_003a91e4" * (cast_expression "(code *)PTR_SyncAuthenticPixels_003a91e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,param_2)" ( identifier , identifier )))) ;) (if_statement "if ((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))) break;" if (parenthesized_expression "((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0))))" ( (binary_expression "(iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))" (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) || (parenthesized_expression "((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))" ( (parenthesized_expression "(*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0))" ( (binary_expression "*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)" (binary_expression "*(int *)(iVar6 + 0x3364) == 0" (pointer_expression "*(int *)(iVar6 + 0x3364)" * (cast_expression "(int *)(iVar6 + 0x3364)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x3364)" ( (binary_expression "iVar6 + 0x3364" identifier + number_literal) )))) == number_literal) && (parenthesized_expression "(local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)" ( (comma_expression "local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0" (assignment_expression "local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c))" identifier = (call_expression "(*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c))" (parenthesized_expression "(*(code *)PTR_SetImageProgress_003a8cb4)" ( (pointer_expression "*(code *)PTR_SetImageProgress_003a8cb4" * (cast_expression "(code *)PTR_SetImageProgress_003a8cb4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c))" ( identifier , identifier , (field_expression "local_1160._0_4_" identifier . field_identifier) , identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar6 + 0x1c)" * (cast_expression "(undefined4 *)(iVar6 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x1c)" ( (binary_expression "iVar6 + 0x1c" identifier + number_literal) )))) )))) , (comma_expression "lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0" (assignment_expression "lVar31 = CONCAT44(iVar7,&local_1108)" identifier = (call_expression "CONCAT44(iVar7,&local_1108)" identifier (argument_list "(iVar7,&local_1108)" ( identifier , (pointer_expression "&local_1108" & identifier) )))) , (binary_expression "local_114c == 0" identifier == number_literal))) ))) )) ))) )) (break_statement "break;" break ;)) (expression_statement "uVar22 = uVar22 - 1;" (assignment_expression "uVar22 = uVar22 - 1" identifier = (binary_expression "uVar22 - 1" identifier - number_literal)) ;) (expression_statement "iVar7 = local_1160._0_4_ + -1;" (assignment_expression "iVar7 = local_1160._0_4_ + -1" identifier = (binary_expression "local_1160._0_4_ + -1" (field_expression "local_1160._0_4_" identifier . field_identifier) + number_literal)) ;) (expression_statement "lVar31 = CONCAT44(iVar7,&local_1108);" (assignment_expression "lVar31 = CONCAT44(iVar7,&local_1108)" identifier = (call_expression "CONCAT44(iVar7,&local_1108)" identifier (argument_list "(iVar7,&local_1108)" ( identifier , (pointer_expression "&local_1108" & identifier) )))) ;) (expression_statement "local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_);" (assignment_expression "local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_)" identifier = (call_expression "CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_)" identifier (argument_list "((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_)" ( (binary_expression "(uint)(uVar13 - 1 < uVar13) + iVar7" (call_expression "(uint)(uVar13 - 1 < uVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar13 - 1 < uVar13)" ( (binary_expression "uVar13 - 1 < uVar13" (binary_expression "uVar13 - 1" identifier - number_literal) < identifier) ))) + identifier) , (field_expression "local_1160._4_4_" identifier . field_identifier) )))) ;) (expression_statement "uVar13 = uVar13 - 1;" (assignment_expression "uVar13 = uVar13 - 1" identifier = (binary_expression "uVar13 - 1" identifier - number_literal)) ;) (if_statement "if (uVar22 == 0xffffffff) break;" if (parenthesized_expression "(uVar22 == 0xffffffff)" ( (binary_expression "uVar22 == 0xffffffff" identifier == number_literal) )) (break_statement "break;" break ;)) })) })) (expression_statement "iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);" (assignment_expression "iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6)" identifier = (call_expression "(*(code *)PTR_EOFBlob_003a9748)(iVar6)" (parenthesized_expression "(*(code *)PTR_EOFBlob_003a9748)" ( (pointer_expression "*(code *)PTR_EOFBlob_003a9748" * (cast_expression "(code *)PTR_EOFBlob_003a9748" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (if_statement "if (iVar7 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\nLAB_00224e4c:\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      if (local_114c == 0) {\nLAB_00224fc0:\n        uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      else {\nLAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      goto LAB_00224c7c;\n    }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\nLAB_00224e4c:\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      if (local_114c == 0) {\nLAB_00224fc0:\n        uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      else {\nLAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      goto LAB_00224c7c;\n    }" { (expression_statement "puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_003a99b0)()" (parenthesized_expression "(*(code *)PTR___errno_location_003a99b0)" ( (pointer_expression "*(code *)PTR___errno_location_003a99b0" * (cast_expression "(code *)PTR___errno_location_003a99b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);" (assignment_expression "uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14)" identifier = (call_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14)" (parenthesized_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)" ( (pointer_expression "*(code *)PTR_GetExceptionMessage_003a93ec" * (cast_expression "(code *)PTR_GetExceptionMessage_003a93ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar14)" ( (pointer_expression "*puVar14" * identifier) )))) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20)" (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_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20)" ( identifier , (binary_expression "PTR_UINT_003a8950 + -0xe40" identifier + number_literal) , (binary_expression "PTR_UINT_003a8950 + -0xc70" identifier + number_literal) , number_literal , number_literal , (binary_expression "PTR_s_courses_003a88ec + -0x17c" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0xe78" identifier + number_literal) , (binary_expression "iVar6 + 0x340" identifier + number_literal) , identifier ))) ;) (expression_statement "(*(code *)PTR_DestroyString_003a9074)(uVar20);" (call_expression "(*(code *)PTR_DestroyString_003a9074)(uVar20)" (parenthesized_expression "(*(code *)PTR_DestroyString_003a9074)" ( (pointer_expression "*(code *)PTR_DestroyString_003a9074" * (cast_expression "(code *)PTR_DestroyString_003a9074" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar20)" ( identifier ))) ;) (labeled_statement "LAB_00224e4c:\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);" statement_identifier : (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(iVar6);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(iVar6)" (parenthesized_expression "(*(code *)PTR_CloseBlob_003a9688)" ( (pointer_expression "*(code *)PTR_CloseBlob_003a9688" * (cast_expression "(code *)PTR_CloseBlob_003a9688" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))) ;)) (if_statement "if (local_114c == 0) {\nLAB_00224fc0:\n        uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      else {\nLAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);\n        dVar26 = in_f22_23;\n      }" if (parenthesized_expression "(local_114c == 0)" ( (binary_expression "local_114c == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00224fc0:\n        uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n        dVar26 = in_f22_23;\n      }" { (labeled_statement "LAB_00224fc0:\n        uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);" statement_identifier : (expression_statement "uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);" (assignment_expression "uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6)" identifier = (call_expression "(*(code *)PTR_DestroyImageList_003a9510)(iVar6)" (parenthesized_expression "(*(code *)PTR_DestroyImageList_003a9510)" ( (pointer_expression "*(code *)PTR_DestroyImageList_003a9510" * (cast_expression "(code *)PTR_DestroyImageList_003a9510" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;)) (expression_statement "dVar26 = in_f22_23;" (assignment_expression "dVar26 = in_f22_23" identifier = identifier) ;) }) (else_clause "else {\nLAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);\n        dVar26 = in_f22_23;\n      }" else (compound_statement "{\nLAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);\n        dVar26 = in_f22_23;\n      }" { (labeled_statement "LAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);" statement_identifier : (expression_statement "uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);" (assignment_expression "uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6)" identifier = (call_expression "(*(code *)PTR_GetFirstImageInList_003a944c)(iVar6)" (parenthesized_expression "(*(code *)PTR_GetFirstImageInList_003a944c)" ( (pointer_expression "*(code *)PTR_GetFirstImageInList_003a944c" * (cast_expression "(code *)PTR_GetFirstImageInList_003a944c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;)) (expression_statement "dVar26 = in_f22_23;" (assignment_expression "dVar26 = in_f22_23" identifier = identifier) ;) }))) (goto_statement "goto LAB_00224c7c;" goto statement_identifier ;) })) (if_statement "if ((*(int *)(param_1 + 0x2c) != 0) &&\n       ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= *(uint *)(iVar6 + 0x26c)))\n    goto LAB_00224e4c;" if (parenthesized_expression "((*(int *)(param_1 + 0x2c) != 0) &&\n       ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= *(uint *)(iVar6 + 0x26c)))" ( (binary_expression "(*(int *)(param_1 + 0x2c) != 0) &&\n       ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= *(uint *)(iVar6 + 0x26c))" (parenthesized_expression "(*(int *)(param_1 + 0x2c) != 0)" ( (binary_expression "*(int *)(param_1 + 0x2c) != 0" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= *(uint *)(iVar6 + 0x26c))" ( (binary_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= *(uint *)(iVar6 + 0x26c)" (binary_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U" (parenthesized_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28))" ( (binary_expression "*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) + (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) )) - number_literal) <= (pointer_expression "*(uint *)(iVar6 + 0x26c)" * (cast_expression "(uint *)(iVar6 + 0x26c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x26c)" ( (binary_expression "iVar6 + 0x26c" identifier + number_literal) ))))) ))) )) (goto_statement "goto LAB_00224e4c;" goto statement_identifier ;)) (if_statement "if ((int)local_1154 < (int)(local_1138 + -1)) {\n      (*(code *)PTR_AcquireNextImage_003a8f90)(param_1,iVar6,param_2);\n      iVar7 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar6);\n      if (iVar7 != 0) {\n        iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6);\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32);\n        if (local_114c != 0) goto LAB_00224e34;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224fc0;\n    }" if (parenthesized_expression "((int)local_1154 < (int)(local_1138 + -1))" ( (binary_expression "(int)local_1154 < (int)(local_1138 + -1)" (cast_expression "(int)local_1154" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)(local_1138 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_1138 + -1)" ( (binary_expression "local_1138 + -1" identifier + number_literal) )))) )) (compound_statement "{\n      (*(code *)PTR_AcquireNextImage_003a8f90)(param_1,iVar6,param_2);\n      iVar7 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar6);\n      if (iVar7 != 0) {\n        iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6);\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32);\n        if (local_114c != 0) goto LAB_00224e34;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224fc0;\n    }" { (expression_statement "(*(code *)PTR_AcquireNextImage_003a8f90)(param_1,iVar6,param_2);" (call_expression "(*(code *)PTR_AcquireNextImage_003a8f90)(param_1,iVar6,param_2)" (parenthesized_expression "(*(code *)PTR_AcquireNextImage_003a8f90)" ( (pointer_expression "*(code *)PTR_AcquireNextImage_003a8f90" * (cast_expression "(code *)PTR_AcquireNextImage_003a8f90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,iVar6,param_2)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar7 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar6);" (assignment_expression "iVar7 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar6)" identifier = (call_expression "(*(code *)PTR_GetNextImageInList_003a9470)(iVar6)" (parenthesized_expression "(*(code *)PTR_GetNextImageInList_003a9470)" ( (pointer_expression "*(code *)PTR_GetNextImageInList_003a9470" * (cast_expression "(code *)PTR_GetNextImageInList_003a9470" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (if_statement "if (iVar7 != 0) {\n        iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6);\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32);\n        if (local_114c != 0) goto LAB_00224e34;\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6);\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32);\n        if (local_114c != 0) goto LAB_00224e34;\n      }" { (expression_statement "iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6);" (assignment_expression "iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6)" identifier = (call_expression "(*(code *)PTR_SyncNextImageInList_003a9408)(iVar6)" (parenthesized_expression "(*(code *)PTR_SyncNextImageInList_003a9408)" ( (pointer_expression "*(code *)PTR_SyncNextImageInList_003a9408" * (cast_expression "(code *)PTR_SyncNextImageInList_003a9408" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);" (assignment_expression "uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6)" identifier = (call_expression "(*(code *)PTR_TellBlob_003a931c)(iVar6)" (parenthesized_expression "(*(code *)PTR_TellBlob_003a931c)" ( (pointer_expression "*(code *)PTR_TellBlob_003a931c" * (cast_expression "(code *)PTR_TellBlob_003a931c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6);" (assignment_expression "uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6)" identifier = (call_expression "(*(code *)PTR_GetBlobSize_003a94b8)(iVar6)" (parenthesized_expression "(*(code *)PTR_GetBlobSize_003a94b8)" ( (pointer_expression "*(code *)PTR_GetBlobSize_003a94b8" * (cast_expression "(code *)PTR_GetBlobSize_003a94b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32);" (assignment_expression "local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32)" identifier = (call_expression "(*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32)" (parenthesized_expression "(*(code *)PTR_SetImageProgress_003a8cb4)" ( (pointer_expression "*(code *)PTR_SetImageProgress_003a8cb4" * (cast_expression "(code *)PTR_SetImageProgress_003a8cb4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32)" ( identifier , (binary_expression "PTR_s_courses_003a88ec + -0x168" identifier + number_literal) , (cast_expression "(int)((ulonglong)uVar30 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar30 >> 0x20)" ( (binary_expression "(ulonglong)uVar30 >> 0x20" (cast_expression "(ulonglong)uVar30" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (cast_expression "(int)uVar30" ( (type_descriptor "int" primitive_type) ) identifier) , identifier )))) ;) (if_statement "if (local_114c != 0) goto LAB_00224e34;" if (parenthesized_expression "(local_114c != 0)" ( (binary_expression "local_114c != 0" identifier != number_literal) )) (goto_statement "goto LAB_00224e34;" goto statement_identifier ;)) })) (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(iVar6);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(iVar6)" (parenthesized_expression "(*(code *)PTR_CloseBlob_003a9688)" ( (pointer_expression "*(code *)PTR_CloseBlob_003a9688" * (cast_expression "(code *)PTR_CloseBlob_003a9688" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))) ;) (goto_statement "goto LAB_00224fc0;" goto statement_identifier ;) })) (labeled_statement "LAB_00224e34:\n    local_1154 = local_1154 + 1;" statement_identifier : (expression_statement "local_1154 = local_1154 + 1;" (assignment_expression "local_1154 = local_1154 + 1" identifier = (binary_expression "local_1154 + 1" identifier + number_literal)) ;)) (if_statement "if (local_1154 == local_1138) goto LAB_00224e4c;" if (parenthesized_expression "(local_1154 == local_1138)" ( (binary_expression "local_1154 == local_1138" identifier == identifier) )) (goto_statement "goto LAB_00224e4c;" goto statement_identifier ;)) (labeled_statement "LAB_00224900:\n    iVar7 = *(int *)(param_1 + 0x1dc);" statement_identifier : (expression_statement "iVar7 = *(int *)(param_1 + 0x1dc);" (assignment_expression "iVar7 = *(int *)(param_1 + 0x1dc)" identifier = (pointer_expression "*(int *)(param_1 + 0x1dc)" * (cast_expression "(int *)(param_1 + 0x1dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1dc)" ( (binary_expression "param_1 + 0x1dc" identifier + number_literal) ))))) ;)) (expression_statement "*(int *)(iVar6 + 0x18) = local_1148;" (assignment_expression "*(int *)(iVar6 + 0x18) = local_1148" (pointer_expression "*(int *)(iVar6 + 0x18)" * (cast_expression "(int *)(iVar6 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar6 + 0x1c) = local_1144;" (assignment_expression "*(int *)(iVar6 + 0x1c) = local_1144" (pointer_expression "*(int *)(iVar6 + 0x1c)" * (cast_expression "(int *)(iVar6 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x1c)" ( (binary_expression "iVar6 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar6 + 0x20) = local_1128;" (assignment_expression "*(int *)(iVar6 + 0x20) = local_1128" (pointer_expression "*(int *)(iVar6 + 0x20)" * (cast_expression "(int *)(iVar6 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x20)" ( (binary_expression "iVar6 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar6 + 0x25c) = local_1124;" (assignment_expression "*(undefined4 *)(iVar6 + 0x25c) = local_1124" (pointer_expression "*(undefined4 *)(iVar6 + 0x25c)" * (cast_expression "(undefined4 *)(iVar6 + 0x25c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x25c)" ( (binary_expression "iVar6 + 0x25c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(iVar6 + 0x26c) = local_1154;" (assignment_expression "*(undefined **)(iVar6 + 0x26c) = local_1154" (pointer_expression "*(undefined **)(iVar6 + 0x26c)" * (cast_expression "(undefined **)(iVar6 + 0x26c)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x26c)" ( (binary_expression "iVar6 + 0x26c" identifier + number_literal) )))) = identifier) ;) (if_statement "if (((iVar7 != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n       ((undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1) <= local_1154))\n    goto LAB_00224e4c;" if (parenthesized_expression "(((iVar7 != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n       ((undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1) <= local_1154))" ( (binary_expression "((iVar7 != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n       ((undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1) <= local_1154)" (parenthesized_expression "((iVar7 != 0) && (*(int *)(param_1 + 0x2c) != 0))" ( (binary_expression "(iVar7 != 0) && (*(int *)(param_1 + 0x2c) != 0)" (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(int *)(param_1 + 0x2c) != 0)" ( (binary_expression "*(int *)(param_1 + 0x2c) != 0" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "((undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1) <= local_1154)" ( (binary_expression "(undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1) <= local_1154" (cast_expression "(undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1)" ( (binary_expression "*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1" (binary_expression "*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) + (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) + number_literal) ))) <= identifier) ))) )) (goto_statement "goto LAB_00224e4c;" goto statement_identifier ;)) (expression_statement "local_114c = (*(code *)PTR_SetImageExtent_003a94ac)(iVar6,local_1148,local_1144,param_2);" (assignment_expression "local_114c = (*(code *)PTR_SetImageExtent_003a94ac)(iVar6,local_1148,local_1144,param_2)" identifier = (call_expression "(*(code *)PTR_SetImageExtent_003a94ac)(iVar6,local_1148,local_1144,param_2)" (parenthesized_expression "(*(code *)PTR_SetImageExtent_003a94ac)" ( (pointer_expression "*(code *)PTR_SetImageExtent_003a94ac" * (cast_expression "(code *)PTR_SetImageExtent_003a94ac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,local_1148,local_1144,param_2)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (local_114c == 0) goto LAB_00224fc0;" if (parenthesized_expression "(local_114c == 0)" ( (binary_expression "local_114c == 0" identifier == number_literal) )) (goto_statement "goto LAB_00224fc0;" goto statement_identifier ;)) (expression_statement "(*(code *)PTR_SetImageColorspace_003a8d40)(iVar6,3,param_2);" (call_expression "(*(code *)PTR_SetImageColorspace_003a8d40)(iVar6,3,param_2)" (parenthesized_expression "(*(code *)PTR_SetImageColorspace_003a8d40)" ( (pointer_expression "*(code *)PTR_SetImageColorspace_003a8d40" * (cast_expression "(code *)PTR_SetImageColorspace_003a8d40" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,3,param_2)" ( identifier , number_literal , identifier ))) ;) (expression_statement "in_f22_23 = local_10e0;" (assignment_expression "in_f22_23 = local_10e0" identifier = identifier) ;) (if_statement "if ((local_10e0 != 0.0) || (local_10d8 != 0.0)) {\n      if (local_1158 != (undefined1 *)0x0) goto LAB_002249dc;\n      dVar26 = 0.0;\n      dVar28 = dVar26;\n      goto LAB_002249f4;\n    }" if (parenthesized_expression "((local_10e0 != 0.0) || (local_10d8 != 0.0))" ( (binary_expression "(local_10e0 != 0.0) || (local_10d8 != 0.0)" (parenthesized_expression "(local_10e0 != 0.0)" ( (binary_expression "local_10e0 != 0.0" identifier != number_literal) )) || (parenthesized_expression "(local_10d8 != 0.0)" ( (binary_expression "local_10d8 != 0.0" identifier != number_literal) ))) )) (compound_statement "{\n      if (local_1158 != (undefined1 *)0x0) goto LAB_002249dc;\n      dVar26 = 0.0;\n      dVar28 = dVar26;\n      goto LAB_002249f4;\n    }" { (if_statement "if (local_1158 != (undefined1 *)0x0) goto LAB_002249dc;" if (parenthesized_expression "(local_1158 != (undefined1 *)0x0)" ( (binary_expression "local_1158 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002249dc;" goto statement_identifier ;)) (expression_statement "dVar26 = 0.0;" (assignment_expression "dVar26 = 0.0" identifier = number_literal) ;) (expression_statement "dVar28 = dVar26;" (assignment_expression "dVar28 = dVar26" identifier = identifier) ;) (goto_statement "goto LAB_002249f4;" goto statement_identifier ;) })) (if_statement "if (((uint)local_1158 & 0xffffffdf) != 0xffffffc0) break;" if (parenthesized_expression "(((uint)local_1158 & 0xffffffdf) != 0xffffffc0)" ( (binary_expression "((uint)local_1158 & 0xffffffdf) != 0xffffffc0" (parenthesized_expression "((uint)local_1158 & 0xffffffdf)" ( (binary_expression "(uint)local_1158 & 0xffffffdf" (cast_expression "(uint)local_1158" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (expression_statement "dVar26 = local_10d8;" (assignment_expression "dVar26 = local_10d8" identifier = identifier) ;) (expression_statement "lVar33 = (*(code *)PTR_TellBlob_003a931c)(iVar6);" (assignment_expression "lVar33 = (*(code *)PTR_TellBlob_003a931c)(iVar6)" identifier = (call_expression "(*(code *)PTR_TellBlob_003a931c)(iVar6)" (parenthesized_expression "(*(code *)PTR_TellBlob_003a931c)" ( (pointer_expression "*(code *)PTR_TellBlob_003a931c" * (cast_expression "(code *)PTR_TellBlob_003a931c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (if_statement "if (lVar33 != -1) {\n      lVar31 = (ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)*(uint *)(iVar6 + 0x1c);\n      uVar22 = *(uint *)(iVar6 + 0x20) >> 3;\n      if (uVar22 == 2) {\n        sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n        dVar26 = (double)(int)sVar15;\n      }\n      else if (uVar22 == 4) {\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }\n      else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }\n      local_1160._0_4_ = (int)((ulonglong)lVar31 >> 0x20);\n      uVar20 = local_1160._0_4_;\n      local_1160 = lVar31;\n      local_10e0 = dVar26;\n      local_10d8 = dVar26;\n      if (0xffffffff < lVar31) goto LAB_00225060;\n      goto LAB_002252f8;\n    }" if (parenthesized_expression "(lVar33 != -1)" ( (binary_expression "lVar33 != -1" identifier != number_literal) )) (compound_statement "{\n      lVar31 = (ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)*(uint *)(iVar6 + 0x1c);\n      uVar22 = *(uint *)(iVar6 + 0x20) >> 3;\n      if (uVar22 == 2) {\n        sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n        dVar26 = (double)(int)sVar15;\n      }\n      else if (uVar22 == 4) {\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }\n      else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }\n      local_1160._0_4_ = (int)((ulonglong)lVar31 >> 0x20);\n      uVar20 = local_1160._0_4_;\n      local_1160 = lVar31;\n      local_10e0 = dVar26;\n      local_10d8 = dVar26;\n      if (0xffffffff < lVar31) goto LAB_00225060;\n      goto LAB_002252f8;\n    }" { (expression_statement "lVar31 = (ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)*(uint *)(iVar6 + 0x1c);" (assignment_expression "lVar31 = (ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)*(uint *)(iVar6 + 0x1c)" identifier = (binary_expression "(ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)*(uint *)(iVar6 + 0x1c)" (binary_expression "(ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)" (binary_expression "(ulonglong)*(uint *)(iVar6 + 0x18)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(iVar6 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) )))) * (parenthesized_expression "(ulonglong)" ( identifier ))) * (cast_expression "(uint *)(iVar6 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x1c)" ( (binary_expression "iVar6 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar22 = *(uint *)(iVar6 + 0x20) >> 3;" (assignment_expression "uVar22 = *(uint *)(iVar6 + 0x20) >> 3" identifier = (binary_expression "*(uint *)(iVar6 + 0x20) >> 3" (pointer_expression "*(uint *)(iVar6 + 0x20)" * (cast_expression "(uint *)(iVar6 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x20)" ( (binary_expression "iVar6 + 0x20" identifier + number_literal) )))) >> number_literal)) ;) (if_statement "if (uVar22 == 2) {\n        sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n        dVar26 = (double)(int)sVar15;\n      }\n      else if (uVar22 == 4) {\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }\n      else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }" if (parenthesized_expression "(uVar22 == 2)" ( (binary_expression "uVar22 == 2" identifier == number_literal) )) (compound_statement "{\n        sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n        dVar26 = (double)(int)sVar15;\n      }" { (expression_statement "sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);" (assignment_expression "sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6)" identifier = (call_expression "(*(code *)PTR_ReadBlobShort_003a8d80)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobShort_003a8d80)" ( (pointer_expression "*(code *)PTR_ReadBlobShort_003a8d80" * (cast_expression "(code *)PTR_ReadBlobShort_003a8d80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "dVar26 = (double)(int)sVar15;" (assignment_expression "dVar26 = (double)(int)sVar15" identifier = (cast_expression "(double)(int)sVar15" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)sVar15" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else if (uVar22 == 4) {\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }\n      else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }" else (if_statement "if (uVar22 == 4) {\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }\n      else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }" if (parenthesized_expression "(uVar22 == 4)" ( (binary_expression "uVar22 == 4" identifier == number_literal) )) (compound_statement "{\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }" { (expression_statement "fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);" (assignment_expression "fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6)" identifier = (cast_expression "(float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6)" ( (type_descriptor "float" primitive_type) ) (call_expression "(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobFloat_003a8e98)" ( (pointer_expression "*(code *)PTR_ReadBlobFloat_003a8e98" * (cast_expression "(code *)PTR_ReadBlobFloat_003a8e98" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))))) ;) (expression_statement "dVar26 = (double)fVar27;" (assignment_expression "dVar26 = (double)fVar27" identifier = (cast_expression "(double)fVar27" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }" else (if_statement "if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }" if (parenthesized_expression "(uVar22 == 1)" ( (binary_expression "uVar22 == 1" identifier == number_literal) )) (compound_statement "{\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }" { (expression_statement "iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);" (assignment_expression "iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "dVar26 = (double)iVar7;" (assignment_expression "dVar26 = (double)iVar7" identifier = (cast_expression "(double)iVar7" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }" else (compound_statement "{\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }" { (expression_statement "dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);" (assignment_expression "dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6)" identifier = (cast_expression "(double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobDouble_003a8c38)" ( (pointer_expression "*(code *)PTR_ReadBlobDouble_003a8c38" * (cast_expression "(code *)PTR_ReadBlobDouble_003a8c38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))))) ;) }))))))) (expression_statement "local_1160._0_4_ = (int)((ulonglong)lVar31 >> 0x20);" (assignment_expression "local_1160._0_4_ = (int)((ulonglong)lVar31 >> 0x20)" (field_expression "local_1160._0_4_" identifier . field_identifier) = (cast_expression "(int)((ulonglong)lVar31 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar31 >> 0x20)" ( (binary_expression "(ulonglong)lVar31 >> 0x20" (cast_expression "(ulonglong)lVar31" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar20 = local_1160._0_4_;" (assignment_expression "uVar20 = local_1160._0_4_" identifier = (field_expression "local_1160._0_4_" identifier . field_identifier)) ;) (expression_statement "local_1160 = lVar31;" (assignment_expression "local_1160 = lVar31" identifier = identifier) ;) (expression_statement "local_10e0 = dVar26;" (assignment_expression "local_10e0 = dVar26" identifier = identifier) ;) (expression_statement "local_10d8 = dVar26;" (assignment_expression "local_10d8 = dVar26" identifier = identifier) ;) (if_statement "if (0xffffffff < lVar31) goto LAB_00225060;" if (parenthesized_expression "(0xffffffff < lVar31)" ( (binary_expression "0xffffffff < lVar31" number_literal < identifier) )) (goto_statement "goto LAB_00225060;" goto statement_identifier ;)) (goto_statement "goto LAB_002252f8;" goto statement_identifier ;) })) (expression_statement "dVar26 = dVar26 - in_f22_23;" (assignment_expression "dVar26 = dVar26 - in_f22_23" identifier = (binary_expression "dVar26 - in_f22_23" identifier - identifier)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) (expression_statement "dVar26 = 0.0;" (assignment_expression "dVar26 = 0.0" identifier = number_literal) ;) (expression_statement "dVar28 = dVar26;" (assignment_expression "dVar28 = dVar26" identifier = identifier) ;) (if_statement "if (local_1158 != (undefined1 *)0x0) {\nLAB_002249dc:\n    dVar26 = (double)(*(code *)PTR_FUN_003a8a60)(local_1120,local_111c);\n    dVar28 = dVar26;\n  }" if (parenthesized_expression "(local_1158 != (undefined1 *)0x0)" ( (binary_expression "local_1158 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_002249dc:\n    dVar26 = (double)(*(code *)PTR_FUN_003a8a60)(local_1120,local_111c);\n    dVar28 = dVar26;\n  }" { (labeled_statement "LAB_002249dc:\n    dVar26 = (double)(*(code *)PTR_FUN_003a8a60)(local_1120,local_111c);" statement_identifier : (expression_statement "dVar26 = (double)(*(code *)PTR_FUN_003a8a60)(local_1120,local_111c);" (assignment_expression "dVar26 = (double)(*(code *)PTR_FUN_003a8a60)(local_1120,local_111c)" identifier = (cast_expression "(double)(*(code *)PTR_FUN_003a8a60)(local_1120,local_111c)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_FUN_003a8a60)(local_1120,local_111c)" (parenthesized_expression "(*(code *)PTR_FUN_003a8a60)" ( (pointer_expression "*(code *)PTR_FUN_003a8a60" * (cast_expression "(code *)PTR_FUN_003a8a60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_1120,local_111c)" ( identifier , identifier ))))) ;)) (expression_statement "dVar28 = dVar26;" (assignment_expression "dVar28 = dVar26" identifier = identifier) ;) })) (goto_statement "goto LAB_002249f4;" goto statement_identifier ;) (labeled_statement "LAB_00225060:\n  iVar7 = 0;" statement_identifier : (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;)) (expression_statement "uVar22 = 1;" (assignment_expression "uVar22 = 1" identifier = number_literal) ;) (expression_statement "dVar28 = dVar26;" (assignment_expression "dVar28 = dVar26" identifier = identifier) ;) (expression_statement "dVar29 = dVar26;" (assignment_expression "dVar29 = dVar26" identifier = identifier) ;) (do_statement "do {\n    uVar13 = *(uint *)(iVar6 + 0x20) >> 3;\n    if (uVar13 == 2) {\n      sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n      dVar26 = (double)(int)sVar15;\n    }\n    else if (uVar13 == 4) {\n      fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n      dVar26 = (double)fVar27;\n    }\n    else if (uVar13 == 1) {\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }\n    else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }\n    dVar5 = dVar26;\n    if (dVar29 <= dVar26) {\n      dVar5 = local_10e0;\n    }\n    local_10e0 = dVar5;\n    uVar13 = uVar22 + 1;\n    dVar29 = dVar26;\n    if (dVar26 <= dVar28) {\n      dVar26 = dVar28;\n      dVar29 = local_10d8;\n    }\n    local_10d8 = dVar29;\n    iVar7 = (uint)(uVar13 < uVar22) + iVar7;\n    uVar22 = uVar13;\n    dVar28 = dVar26;\n    dVar29 = local_10e0;\n    in_f22_23 = local_10e0;\n  } while (lVar31 != CONCAT44(iVar7,uVar13));" do (compound_statement "{\n    uVar13 = *(uint *)(iVar6 + 0x20) >> 3;\n    if (uVar13 == 2) {\n      sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n      dVar26 = (double)(int)sVar15;\n    }\n    else if (uVar13 == 4) {\n      fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n      dVar26 = (double)fVar27;\n    }\n    else if (uVar13 == 1) {\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }\n    else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }\n    dVar5 = dVar26;\n    if (dVar29 <= dVar26) {\n      dVar5 = local_10e0;\n    }\n    local_10e0 = dVar5;\n    uVar13 = uVar22 + 1;\n    dVar29 = dVar26;\n    if (dVar26 <= dVar28) {\n      dVar26 = dVar28;\n      dVar29 = local_10d8;\n    }\n    local_10d8 = dVar29;\n    iVar7 = (uint)(uVar13 < uVar22) + iVar7;\n    uVar22 = uVar13;\n    dVar28 = dVar26;\n    dVar29 = local_10e0;\n    in_f22_23 = local_10e0;\n  }" { (expression_statement "uVar13 = *(uint *)(iVar6 + 0x20) >> 3;" (assignment_expression "uVar13 = *(uint *)(iVar6 + 0x20) >> 3" identifier = (binary_expression "*(uint *)(iVar6 + 0x20) >> 3" (pointer_expression "*(uint *)(iVar6 + 0x20)" * (cast_expression "(uint *)(iVar6 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x20)" ( (binary_expression "iVar6 + 0x20" identifier + number_literal) )))) >> number_literal)) ;) (if_statement "if (uVar13 == 2) {\n      sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n      dVar26 = (double)(int)sVar15;\n    }\n    else if (uVar13 == 4) {\n      fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n      dVar26 = (double)fVar27;\n    }\n    else if (uVar13 == 1) {\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }\n    else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }" if (parenthesized_expression "(uVar13 == 2)" ( (binary_expression "uVar13 == 2" identifier == number_literal) )) (compound_statement "{\n      sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n      dVar26 = (double)(int)sVar15;\n    }" { (expression_statement "sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);" (assignment_expression "sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6)" identifier = (call_expression "(*(code *)PTR_ReadBlobShort_003a8d80)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobShort_003a8d80)" ( (pointer_expression "*(code *)PTR_ReadBlobShort_003a8d80" * (cast_expression "(code *)PTR_ReadBlobShort_003a8d80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "dVar26 = (double)(int)sVar15;" (assignment_expression "dVar26 = (double)(int)sVar15" identifier = (cast_expression "(double)(int)sVar15" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)sVar15" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else if (uVar13 == 4) {\n      fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n      dVar26 = (double)fVar27;\n    }\n    else if (uVar13 == 1) {\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }\n    else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }" else (if_statement "if (uVar13 == 4) {\n      fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n      dVar26 = (double)fVar27;\n    }\n    else if (uVar13 == 1) {\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }\n    else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }" if (parenthesized_expression "(uVar13 == 4)" ( (binary_expression "uVar13 == 4" identifier == number_literal) )) (compound_statement "{\n      fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n      dVar26 = (double)fVar27;\n    }" { (expression_statement "fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);" (assignment_expression "fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6)" identifier = (cast_expression "(float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6)" ( (type_descriptor "float" primitive_type) ) (call_expression "(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobFloat_003a8e98)" ( (pointer_expression "*(code *)PTR_ReadBlobFloat_003a8e98" * (cast_expression "(code *)PTR_ReadBlobFloat_003a8e98" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))))) ;) (expression_statement "dVar26 = (double)fVar27;" (assignment_expression "dVar26 = (double)fVar27" identifier = (cast_expression "(double)fVar27" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else if (uVar13 == 1) {\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }\n    else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }" else (if_statement "if (uVar13 == 1) {\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }\n    else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }" if (parenthesized_expression "(uVar13 == 1)" ( (binary_expression "uVar13 == 1" identifier == number_literal) )) (compound_statement "{\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }" { (expression_statement "iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);" (assignment_expression "iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "dVar26 = (double)iVar10;" (assignment_expression "dVar26 = (double)iVar10" identifier = (cast_expression "(double)iVar10" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }" else (compound_statement "{\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }" { (expression_statement "dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);" (assignment_expression "dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6)" identifier = (cast_expression "(double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobDouble_003a8c38)" ( (pointer_expression "*(code *)PTR_ReadBlobDouble_003a8c38" * (cast_expression "(code *)PTR_ReadBlobDouble_003a8c38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))))) ;) }))))))) (expression_statement "dVar5 = dVar26;" (assignment_expression "dVar5 = dVar26" identifier = identifier) ;) (if_statement "if (dVar29 <= dVar26) {\n      dVar5 = local_10e0;\n    }" if (parenthesized_expression "(dVar29 <= dVar26)" ( (binary_expression "dVar29 <= dVar26" identifier <= identifier) )) (compound_statement "{\n      dVar5 = local_10e0;\n    }" { (expression_statement "dVar5 = local_10e0;" (assignment_expression "dVar5 = local_10e0" identifier = identifier) ;) })) (expression_statement "local_10e0 = dVar5;" (assignment_expression "local_10e0 = dVar5" identifier = identifier) ;) (expression_statement "uVar13 = uVar22 + 1;" (assignment_expression "uVar13 = uVar22 + 1" identifier = (binary_expression "uVar22 + 1" identifier + number_literal)) ;) (expression_statement "dVar29 = dVar26;" (assignment_expression "dVar29 = dVar26" identifier = identifier) ;) (if_statement "if (dVar26 <= dVar28) {\n      dVar26 = dVar28;\n      dVar29 = local_10d8;\n    }" if (parenthesized_expression "(dVar26 <= dVar28)" ( (binary_expression "dVar26 <= dVar28" identifier <= identifier) )) (compound_statement "{\n      dVar26 = dVar28;\n      dVar29 = local_10d8;\n    }" { (expression_statement "dVar26 = dVar28;" (assignment_expression "dVar26 = dVar28" identifier = identifier) ;) (expression_statement "dVar29 = local_10d8;" (assignment_expression "dVar29 = local_10d8" identifier = identifier) ;) })) (expression_statement "local_10d8 = dVar29;" (assignment_expression "local_10d8 = dVar29" identifier = identifier) ;) (expression_statement "iVar7 = (uint)(uVar13 < uVar22) + iVar7;" (assignment_expression "iVar7 = (uint)(uVar13 < uVar22) + iVar7" identifier = (binary_expression "(uint)(uVar13 < uVar22) + iVar7" (call_expression "(uint)(uVar13 < uVar22)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar13 < uVar22)" ( (binary_expression "uVar13 < uVar22" identifier < identifier) ))) + identifier)) ;) (expression_statement "uVar22 = uVar13;" (assignment_expression "uVar22 = uVar13" identifier = identifier) ;) (expression_statement "dVar28 = dVar26;" (assignment_expression "dVar28 = dVar26" identifier = identifier) ;) (expression_statement "dVar29 = local_10e0;" (assignment_expression "dVar29 = local_10e0" identifier = identifier) ;) (expression_statement "in_f22_23 = local_10e0;" (assignment_expression "in_f22_23 = local_10e0" identifier = identifier) ;) }) while (parenthesized_expression "(lVar31 != CONCAT44(iVar7,uVar13))" ( (binary_expression "lVar31 != CONCAT44(iVar7,uVar13)" identifier != (call_expression "CONCAT44(iVar7,uVar13)" identifier (argument_list "(iVar7,uVar13)" ( identifier , identifier )))) )) ;) (goto_statement "goto LAB_0022511c;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier short) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 (array_declarator IDENT [ LIT ]) ;) (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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (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 ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) )))) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) )))) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) , (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 ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) )))) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) )))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (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 ( (pointer_expression & IDENT) , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (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 )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) * LIT)) )))) & LIT) )) != LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (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 ( )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (pointer_expression & IDENT)) )) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) 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 , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) * LIT)) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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) )) (break_statement break ;)) (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 = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) == LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( 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 ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) == LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( 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 *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , LIT ))))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( 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 , LIT , 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 (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , LIT )))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( 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 , LIT , 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 (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , LIT ))))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (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) ) (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 (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 = (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 = (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 = (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 = (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 = (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 { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (call_expression (parenthesized_expression ( (subscript_expression IDENT [ LIT ]) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) (argument_list ( IDENT )))) ;) }) (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 , 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) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (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 , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (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 )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) , (cast_expression ( (type_descriptor TYPE) ) IDENT) , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (break_statement break ;)) (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 IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < (pointer_expression & IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT >> (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT) ))) )) << LIT) )))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (call_expression (parenthesized_expression ( (subscript_expression IDENT [ LIT ]) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) (argument_list ( )))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) }))) })))) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (cast_expression ( (type_descriptor TYPE) ) IDENT))) , (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == LIT))))) ))) )) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) )) (compound_statement { (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 , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (call_expression (parenthesized_expression ( (subscript_expression IDENT [ LIT ]) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) (argument_list ( IDENT )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression 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 IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , LIT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) ))) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT >> (parenthesized_expression ( (binary_expression (unary_expression ~ (cast_expression ( (type_descriptor TYPE) ) IDENT)) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (parenthesized_expression ( (binary_expression IDENT - LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , IDENT , LIT , IDENT , (binary_expression IDENT + LIT) , (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 ))) ;) (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 = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;)) (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 = (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 ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression LIT < (field_expression IDENT . field_identifier))) , IDENT) ))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (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 = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , (call_expression IDENT (argument_list ( IDENT , LIT ))) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) / IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT / IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) , (field_expression IDENT . field_identifier) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) 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) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (goto_statement goto statement_identifier ;))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto 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 ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 )))) ;) (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 ( (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ;) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (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 ))))) ;)) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * 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) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (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 & IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) - LIT) ))) )))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ^ LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) * IDENT) + IDENT) )) * IDENT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & 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 )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == 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 , IDENT , (field_expression IDENT . field_identifier) , IDENT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) , (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) , (binary_expression IDENT == LIT))) ))) )) ))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT . field_identifier) + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT - LIT) < IDENT) ))) + IDENT) , (field_expression IDENT . field_identifier) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) })) })) (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 IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , LIT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , 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 : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement 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 )))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (labeled_statement 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 )))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) && (parenthesized_expression ( (binary_expression (binary_expression (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) ))))) )) - LIT) <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (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 ( IDENT , 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 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 )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( 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) , (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) , (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) ))) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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) ))))) + LIT) ))) <= IDENT) ))) )) (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 , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (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 = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (break_statement break ;)) (expression_statement (assignment_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 )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT)) ;) (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 )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (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 ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) (else_clause else (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 )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) 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 ))))) ;) }))))))) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) }) while (parenthesized_expression ( BOOL )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (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 , IDENT ))))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT)) ;) (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 )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (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 ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) (else_clause else (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 )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) 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 ))))) ;) }))))))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < 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) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (call_expression IDENT (argument_list ( IDENT , IDENT )))) )) ;) (goto_statement goto statement_identifier ;) })))
(function_definition "undefined4 FUN_0022407c(int param_1,int param_2)\n\n{\n  bool bVar1;\n  ulonglong uVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  double dVar5;\n  int iVar6;\n  int iVar7;\n  undefined1 *puVar8;\n  int *piVar9;\n  byte bVar16;\n  int iVar10;\n  uint uVar11;\n  int iVar12;\n  uint uVar13;\n  short sVar15;\n  undefined4 *puVar14;\n  undefined *puVar17;\n  float *pfVar18;\n  double *pdVar19;\n  undefined4 uVar20;\n  byte *pbVar21;\n  uint uVar22;\n  undefined4 unaff_s3;\n  undefined *puVar23;\n  undefined4 unaff_s5;\n  undefined *puVar24;\n  code *pcVar25;\n  double dVar26;\n  float fVar27;\n  double dVar28;\n  double in_f22_23;\n  double dVar29;\n  double in_f28_29;\n  double in_f30_31;\n  undefined8 uVar30;\n  longlong lVar31;\n  undefined8 uVar32;\n  longlong lVar33;\n  undefined8 local_1160;\n  undefined1 *local_1158;\n  undefined *local_1154;\n  int local_114c;\n  int local_1148;\n  int local_1144;\n  uint local_1140;\n  undefined *local_1138;\n  undefined *local_1134;\n  undefined *local_112c;\n  int local_1128;\n  undefined4 local_1124;\n  int local_1120;\n  uint local_111c;\n  double local_1118;\n  undefined1 local_110c [4];\n  double local_1108;\n  uint local_1100;\n  uint local_10fc;\n  undefined1 *local_10f8;\n  int local_10f4;\n  int local_10f0;\n  int local_10ec;\n  undefined *local_10e8;\n  double local_10e0;\n  double local_10d8;\n  double local_10d0;\n  double local_10c8;\n  undefined4 local_10c0;\n  byte local_10b4 [12];\n  byte local_10a8 [2];\n  byte local_10a6 [70];\n  undefined1 local_1060;\n  undefined1 auStack_105c [4096];\n  int local_5c;\n  \n  puVar4 = PTR___stack_chk_guard_003a9230;\n  lVar31 = CONCAT44(unaff_s3,unaff_s5);\n  local_5c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  if (*(int *)(param_1 + 0x3210) != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);\n  }\n  if (param_2 == 0) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  iVar6 = (*(code *)PTR_AcquireImage_003a960c)(param_1,param_2);\n  local_114c = (*(code *)PTR_OpenBlob_003a924c)(param_1,iVar6,2,param_2);\n  puVar3 = PTR_UINT_003a8950;\n  puVar17 = PTR_LAB_003a88e0;\n  if (local_114c == 0) {\n    (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    uVar20 = 0;\n    dVar26 = in_f22_23;\n  }\n  else {\n    local_1158 = PTR_UINT_003a8950;\n    local_1134 = PTR_LAB_003a88e0;\n    local_1154 = PTR_UINT_003a8950;\n    (*(code *)PTR_memset_003a96d4)(&local_1100,0,0x48);\n    local_10c8 = *(double *)(puVar17 + 0x1438);\n    local_10f8 = &DAT_00000008;\n    local_10f4 = 1;\n    local_10f0 = 1;\n    local_10e8 = (undefined *)0x1;\n    puVar17 = PTR_UINT_003a8950 + -0xe20;\n    puVar23 = PTR_s_t_to_left_003a88e4 + 0x544;\n    local_10c0 = 2;\n    puVar24 = PTR_UINT_003a8950 + -0xe30;\n    local_1160 = CONCAT44(puVar17,local_1160._4_4_);\n    local_110c = (undefined1  [4])0x0;\n    puVar8 = PTR_UINT_003a8950;\n    do {\n      iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      if (iVar7 != 0) {\nLAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;\n        uVar22 = local_10fc;\n        iVar7 = local_10f4;\n        iVar10 = local_10f0;\n        break;\n      }\n      puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      while (puVar8 == (undefined1 *)0x0) {\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);\n        if (iVar7 != 8) break;\n        piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar21 = local_10b4;\n        do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);\n        pbVar21 = local_10a8;\n        local_10b4[(int)puVar8] = 0;\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);\n        local_1060 = 0;\n        if (iVar7 != 0x48) break;\n        if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);\n        if (iVar7 == 0) break;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);\n        if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);\n        if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);\n        if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);\n        if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);\n        if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);\n        if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);\n        if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);\n        if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);\n        if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);\n        puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      }\n      iVar7 = 0;\n      while( true ) {\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);\n        if ((lVar31 == 0) || (iVar7 == -1)) break;\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      }\n      if (local_1100 == 0) goto LAB_00224bd4;\n      if (local_10f8 + -8 < &DAT_00000019) {\n        if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;\n      }\n      else if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }\n    } while (((local_10fc == 0) || (3 < local_10ec - 1U)) ||\n            (lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0));\n    local_1144 = iVar10;\n    local_1148 = iVar7;\n    local_10fc = uVar22;\n    local_10f4 = local_1148;\n    local_10f0 = local_1144;\n    if (local_110c != (undefined1  [4])0x0) {\n      (*(code *)PTR_SetImageProperty_003a9534)\n                (iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)\n      ;\n      local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c);\n    }\n    iVar7 = (int)lVar33;\n    lVar31 = CONCAT44(iVar7,puVar8);\n    iVar10 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n    if (iVar10 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\n    }\n    if (((uVar22 != 0) && (local_10ec - 1U < 4)) && (lVar33 != 0)) {\n      local_1138 = local_10e8;\n      if (0 < (int)local_10e8) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = local_10f8;\n        local_1124 = local_10c0;\n        puVar8 = local_10f8;\n        if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }\n        iVar7 = -1;\n        if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }\n        puVar8 = puVar8 + -1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar11 = 2 << ((uint)puVar8 & 0x1f);\n        local_1128 = iVar7 * (int)local_10f8;\n        uVar13 = uVar11;\n        uVar22 = 1 >> (~(uint)puVar8 & 0x1f);\n        if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar13 - 1;\n        local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);\n        goto LAB_00224900;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224e60;\n    }\n    uVar20 = 0x1a5;\n    puVar17 = PTR_UINT_003a8950 + -0x2c10;\nLAB_00224c3c:\n    lVar31 = CONCAT44(iVar7,puVar8);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar20,0x1a9,puVar17,\n               PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x2210);\n    if (iVar6 != 0) {\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    }\n    uVar20 = 0;\n    dVar26 = in_f22_23;\n  }\nLAB_00224c7c:\n  uVar2 = (ulonglong)lVar31 >> 0x20;\n  if (local_5c == *(int *)puVar4) {\n    return uVar20;\n  }\n  uVar20 = (*(code *)PTR___stack_chk_fail_003a9064)();\n  lVar31 = CONCAT44(uVar20,(int)lVar31);\n  uVar20 = (int)uVar2;\nLAB_002252f8:\n  uVar2 = (ulonglong)lVar31 >> 0x20;\n  lVar31 = CONCAT44(uVar20,(int)lVar31);\n  in_f22_23 = dVar26;\n  if (((int)uVar2 == 0) && (bVar1 = 1 < local_1160._4_4_, bVar1)) goto LAB_00225060;\nLAB_0022511c:\n  (*(code *)PTR_SeekBlob_003a9328)(iVar6);\n  dVar28 = local_10d8;\nLAB_002249f4:\n  local_10d8 = dVar28;\n  dVar26 = dVar26 - in_f22_23;\n  do {\n    iVar7 = (int)((ulonglong)lVar31 >> 0x20);\n    local_1140 = (uint)((ulonglong)dVar26 >> 0x20);\n    if (0.0 <= dVar26) {\n      dVar28 = *(double *)(local_1134 + 0x1438);\n    }\n    else {\n      local_1140 = local_1140 ^ 0x80000000;\n      dVar28 = local_1118;\n    }\n    if (in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar26,0))) {\n      dVar28 = *(double *)(local_1134 + 0x1438) / dVar26;\n    }\n    else {\n      dVar28 = dVar28 / in_f28_29;\n    }\n    uVar22 = *(int *)(iVar6 + 0x1c) - 1;\n    dVar28 = dVar28 * in_f30_31;\n    if (-1 < (int)uVar22) {\n      local_1160 = CONCAT44((int)uVar22 >> 0x1f,local_1160._4_4_);\n      uVar13 = uVar22;\n      while( true ) {\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2);\n        if (iVar10 == 0) break;\n        if (0 < *(int *)(iVar6 + 0x18)) {\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2);\n        if ((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))) break;\n        uVar22 = uVar22 - 1;\n        iVar7 = local_1160._0_4_ + -1;\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_);\n        uVar13 = uVar13 - 1;\n        if (uVar22 == 0xffffffff) break;\n      }\n    }\n    iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n    if (iVar7 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\nLAB_00224e4c:\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      if (local_114c == 0) {\nLAB_00224fc0:\n        uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      else {\nLAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      goto LAB_00224c7c;\n    }\n    if ((*(int *)(param_1 + 0x2c) != 0) &&\n       ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= *(uint *)(iVar6 + 0x26c)))\n    goto LAB_00224e4c;\n    if ((int)local_1154 < (int)(local_1138 + -1)) {\n      (*(code *)PTR_AcquireNextImage_003a8f90)(param_1,iVar6,param_2);\n      iVar7 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar6);\n      if (iVar7 != 0) {\n        iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6);\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32);\n        if (local_114c != 0) goto LAB_00224e34;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224fc0;\n    }\nLAB_00224e34:\n    local_1154 = local_1154 + 1;\n    if (local_1154 == local_1138) goto LAB_00224e4c;\nLAB_00224900:\n    iVar7 = *(int *)(param_1 + 0x1dc);\n    *(int *)(iVar6 + 0x18) = local_1148;\n    *(int *)(iVar6 + 0x1c) = local_1144;\n    *(int *)(iVar6 + 0x20) = local_1128;\n    *(undefined4 *)(iVar6 + 0x25c) = local_1124;\n    *(undefined **)(iVar6 + 0x26c) = local_1154;\n    if (((iVar7 != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n       ((undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1) <= local_1154))\n    goto LAB_00224e4c;\n    local_114c = (*(code *)PTR_SetImageExtent_003a94ac)(iVar6,local_1148,local_1144,param_2);\n    if (local_114c == 0) goto LAB_00224fc0;\n    (*(code *)PTR_SetImageColorspace_003a8d40)(iVar6,3,param_2);\n    in_f22_23 = local_10e0;\n    if ((local_10e0 != 0.0) || (local_10d8 != 0.0)) {\n      if (local_1158 != (undefined1 *)0x0) goto LAB_002249dc;\n      dVar26 = 0.0;\n      dVar28 = dVar26;\n      goto LAB_002249f4;\n    }\n    if (((uint)local_1158 & 0xffffffdf) != 0xffffffc0) break;\n    dVar26 = local_10d8;\n    lVar33 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n    if (lVar33 != -1) {\n      lVar31 = (ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)*(uint *)(iVar6 + 0x1c);\n      uVar22 = *(uint *)(iVar6 + 0x20) >> 3;\n      if (uVar22 == 2) {\n        sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n        dVar26 = (double)(int)sVar15;\n      }\n      else if (uVar22 == 4) {\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }\n      else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }\n      local_1160._0_4_ = (int)((ulonglong)lVar31 >> 0x20);\n      uVar20 = local_1160._0_4_;\n      local_1160 = lVar31;\n      local_10e0 = dVar26;\n      local_10d8 = dVar26;\n      if (0xffffffff < lVar31) goto LAB_00225060;\n      goto LAB_002252f8;\n    }\n    dVar26 = dVar26 - in_f22_23;\n  } while( true );\n  dVar26 = 0.0;\n  dVar28 = dVar26;\n  if (local_1158 != (undefined1 *)0x0) {\nLAB_002249dc:\n    dVar26 = (double)(*(code *)PTR_FUN_003a8a60)(local_1120,local_111c);\n    dVar28 = dVar26;\n  }\n  goto LAB_002249f4;\nLAB_00225060:\n  iVar7 = 0;\n  uVar22 = 1;\n  dVar28 = dVar26;\n  dVar29 = dVar26;\n  do {\n    uVar13 = *(uint *)(iVar6 + 0x20) >> 3;\n    if (uVar13 == 2) {\n      sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n      dVar26 = (double)(int)sVar15;\n    }\n    else if (uVar13 == 4) {\n      fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n      dVar26 = (double)fVar27;\n    }\n    else if (uVar13 == 1) {\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }\n    else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }\n    dVar5 = dVar26;\n    if (dVar29 <= dVar26) {\n      dVar5 = local_10e0;\n    }\n    local_10e0 = dVar5;\n    uVar13 = uVar22 + 1;\n    dVar29 = dVar26;\n    if (dVar26 <= dVar28) {\n      dVar26 = dVar28;\n      dVar29 = local_10d8;\n    }\n    local_10d8 = dVar29;\n    iVar7 = (uint)(uVar13 < uVar22) + iVar7;\n    uVar22 = uVar13;\n    dVar28 = dVar26;\n    dVar29 = local_10e0;\n    in_f22_23 = local_10e0;\n  } while (lVar31 != CONCAT44(iVar7,uVar13));\n  goto LAB_0022511c;\n}" (type_identifier "undefined4") (function_declarator "FUN_0022407c(int param_1,int param_2)" (identifier "FUN_0022407c") (parameter_list "(int param_1,int param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  bool bVar1;\n  ulonglong uVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  double dVar5;\n  int iVar6;\n  int iVar7;\n  undefined1 *puVar8;\n  int *piVar9;\n  byte bVar16;\n  int iVar10;\n  uint uVar11;\n  int iVar12;\n  uint uVar13;\n  short sVar15;\n  undefined4 *puVar14;\n  undefined *puVar17;\n  float *pfVar18;\n  double *pdVar19;\n  undefined4 uVar20;\n  byte *pbVar21;\n  uint uVar22;\n  undefined4 unaff_s3;\n  undefined *puVar23;\n  undefined4 unaff_s5;\n  undefined *puVar24;\n  code *pcVar25;\n  double dVar26;\n  float fVar27;\n  double dVar28;\n  double in_f22_23;\n  double dVar29;\n  double in_f28_29;\n  double in_f30_31;\n  undefined8 uVar30;\n  longlong lVar31;\n  undefined8 uVar32;\n  longlong lVar33;\n  undefined8 local_1160;\n  undefined1 *local_1158;\n  undefined *local_1154;\n  int local_114c;\n  int local_1148;\n  int local_1144;\n  uint local_1140;\n  undefined *local_1138;\n  undefined *local_1134;\n  undefined *local_112c;\n  int local_1128;\n  undefined4 local_1124;\n  int local_1120;\n  uint local_111c;\n  double local_1118;\n  undefined1 local_110c [4];\n  double local_1108;\n  uint local_1100;\n  uint local_10fc;\n  undefined1 *local_10f8;\n  int local_10f4;\n  int local_10f0;\n  int local_10ec;\n  undefined *local_10e8;\n  double local_10e0;\n  double local_10d8;\n  double local_10d0;\n  double local_10c8;\n  undefined4 local_10c0;\n  byte local_10b4 [12];\n  byte local_10a8 [2];\n  byte local_10a6 [70];\n  undefined1 local_1060;\n  undefined1 auStack_105c [4096];\n  int local_5c;\n  \n  puVar4 = PTR___stack_chk_guard_003a9230;\n  lVar31 = CONCAT44(unaff_s3,unaff_s5);\n  local_5c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  if (*(int *)(param_1 + 0x3210) != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);\n  }\n  if (param_2 == 0) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }\n  iVar6 = (*(code *)PTR_AcquireImage_003a960c)(param_1,param_2);\n  local_114c = (*(code *)PTR_OpenBlob_003a924c)(param_1,iVar6,2,param_2);\n  puVar3 = PTR_UINT_003a8950;\n  puVar17 = PTR_LAB_003a88e0;\n  if (local_114c == 0) {\n    (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    uVar20 = 0;\n    dVar26 = in_f22_23;\n  }\n  else {\n    local_1158 = PTR_UINT_003a8950;\n    local_1134 = PTR_LAB_003a88e0;\n    local_1154 = PTR_UINT_003a8950;\n    (*(code *)PTR_memset_003a96d4)(&local_1100,0,0x48);\n    local_10c8 = *(double *)(puVar17 + 0x1438);\n    local_10f8 = &DAT_00000008;\n    local_10f4 = 1;\n    local_10f0 = 1;\n    local_10e8 = (undefined *)0x1;\n    puVar17 = PTR_UINT_003a8950 + -0xe20;\n    puVar23 = PTR_s_t_to_left_003a88e4 + 0x544;\n    local_10c0 = 2;\n    puVar24 = PTR_UINT_003a8950 + -0xe30;\n    local_1160 = CONCAT44(puVar17,local_1160._4_4_);\n    local_110c = (undefined1  [4])0x0;\n    puVar8 = PTR_UINT_003a8950;\n    do {\n      iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      if (iVar7 != 0) {\nLAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;\n        uVar22 = local_10fc;\n        iVar7 = local_10f4;\n        iVar10 = local_10f0;\n        break;\n      }\n      puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      while (puVar8 == (undefined1 *)0x0) {\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);\n        if (iVar7 != 8) break;\n        piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar21 = local_10b4;\n        do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);\n        pbVar21 = local_10a8;\n        local_10b4[(int)puVar8] = 0;\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);\n        local_1060 = 0;\n        if (iVar7 != 0x48) break;\n        if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);\n        if (iVar7 == 0) break;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);\n        if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);\n        if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);\n        if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);\n        if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);\n        if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);\n        if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);\n        if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);\n        if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);\n        if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);\n        puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      }\n      iVar7 = 0;\n      while( true ) {\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);\n        if ((lVar31 == 0) || (iVar7 == -1)) break;\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      }\n      if (local_1100 == 0) goto LAB_00224bd4;\n      if (local_10f8 + -8 < &DAT_00000019) {\n        if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;\n      }\n      else if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }\n    } while (((local_10fc == 0) || (3 < local_10ec - 1U)) ||\n            (lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0));\n    local_1144 = iVar10;\n    local_1148 = iVar7;\n    local_10fc = uVar22;\n    local_10f4 = local_1148;\n    local_10f0 = local_1144;\n    if (local_110c != (undefined1  [4])0x0) {\n      (*(code *)PTR_SetImageProperty_003a9534)\n                (iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)\n      ;\n      local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c);\n    }\n    iVar7 = (int)lVar33;\n    lVar31 = CONCAT44(iVar7,puVar8);\n    iVar10 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n    if (iVar10 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\n    }\n    if (((uVar22 != 0) && (local_10ec - 1U < 4)) && (lVar33 != 0)) {\n      local_1138 = local_10e8;\n      if (0 < (int)local_10e8) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = local_10f8;\n        local_1124 = local_10c0;\n        puVar8 = local_10f8;\n        if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }\n        iVar7 = -1;\n        if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }\n        puVar8 = puVar8 + -1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar11 = 2 << ((uint)puVar8 & 0x1f);\n        local_1128 = iVar7 * (int)local_10f8;\n        uVar13 = uVar11;\n        uVar22 = 1 >> (~(uint)puVar8 & 0x1f);\n        if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar13 - 1;\n        local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);\n        goto LAB_00224900;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224e60;\n    }\n    uVar20 = 0x1a5;\n    puVar17 = PTR_UINT_003a8950 + -0x2c10;\nLAB_00224c3c:\n    lVar31 = CONCAT44(iVar7,puVar8);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar20,0x1a9,puVar17,\n               PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x2210);\n    if (iVar6 != 0) {\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    }\n    uVar20 = 0;\n    dVar26 = in_f22_23;\n  }\nLAB_00224c7c:\n  uVar2 = (ulonglong)lVar31 >> 0x20;\n  if (local_5c == *(int *)puVar4) {\n    return uVar20;\n  }\n  uVar20 = (*(code *)PTR___stack_chk_fail_003a9064)();\n  lVar31 = CONCAT44(uVar20,(int)lVar31);\n  uVar20 = (int)uVar2;\nLAB_002252f8:\n  uVar2 = (ulonglong)lVar31 >> 0x20;\n  lVar31 = CONCAT44(uVar20,(int)lVar31);\n  in_f22_23 = dVar26;\n  if (((int)uVar2 == 0) && (bVar1 = 1 < local_1160._4_4_, bVar1)) goto LAB_00225060;\nLAB_0022511c:\n  (*(code *)PTR_SeekBlob_003a9328)(iVar6);\n  dVar28 = local_10d8;\nLAB_002249f4:\n  local_10d8 = dVar28;\n  dVar26 = dVar26 - in_f22_23;\n  do {\n    iVar7 = (int)((ulonglong)lVar31 >> 0x20);\n    local_1140 = (uint)((ulonglong)dVar26 >> 0x20);\n    if (0.0 <= dVar26) {\n      dVar28 = *(double *)(local_1134 + 0x1438);\n    }\n    else {\n      local_1140 = local_1140 ^ 0x80000000;\n      dVar28 = local_1118;\n    }\n    if (in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar26,0))) {\n      dVar28 = *(double *)(local_1134 + 0x1438) / dVar26;\n    }\n    else {\n      dVar28 = dVar28 / in_f28_29;\n    }\n    uVar22 = *(int *)(iVar6 + 0x1c) - 1;\n    dVar28 = dVar28 * in_f30_31;\n    if (-1 < (int)uVar22) {\n      local_1160 = CONCAT44((int)uVar22 >> 0x1f,local_1160._4_4_);\n      uVar13 = uVar22;\n      while( true ) {\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2);\n        if (iVar10 == 0) break;\n        if (0 < *(int *)(iVar6 + 0x18)) {\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2);\n        if ((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))) break;\n        uVar22 = uVar22 - 1;\n        iVar7 = local_1160._0_4_ + -1;\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_);\n        uVar13 = uVar13 - 1;\n        if (uVar22 == 0xffffffff) break;\n      }\n    }\n    iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n    if (iVar7 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\nLAB_00224e4c:\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      if (local_114c == 0) {\nLAB_00224fc0:\n        uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      else {\nLAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      goto LAB_00224c7c;\n    }\n    if ((*(int *)(param_1 + 0x2c) != 0) &&\n       ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= *(uint *)(iVar6 + 0x26c)))\n    goto LAB_00224e4c;\n    if ((int)local_1154 < (int)(local_1138 + -1)) {\n      (*(code *)PTR_AcquireNextImage_003a8f90)(param_1,iVar6,param_2);\n      iVar7 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar6);\n      if (iVar7 != 0) {\n        iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6);\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32);\n        if (local_114c != 0) goto LAB_00224e34;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224fc0;\n    }\nLAB_00224e34:\n    local_1154 = local_1154 + 1;\n    if (local_1154 == local_1138) goto LAB_00224e4c;\nLAB_00224900:\n    iVar7 = *(int *)(param_1 + 0x1dc);\n    *(int *)(iVar6 + 0x18) = local_1148;\n    *(int *)(iVar6 + 0x1c) = local_1144;\n    *(int *)(iVar6 + 0x20) = local_1128;\n    *(undefined4 *)(iVar6 + 0x25c) = local_1124;\n    *(undefined **)(iVar6 + 0x26c) = local_1154;\n    if (((iVar7 != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n       ((undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1) <= local_1154))\n    goto LAB_00224e4c;\n    local_114c = (*(code *)PTR_SetImageExtent_003a94ac)(iVar6,local_1148,local_1144,param_2);\n    if (local_114c == 0) goto LAB_00224fc0;\n    (*(code *)PTR_SetImageColorspace_003a8d40)(iVar6,3,param_2);\n    in_f22_23 = local_10e0;\n    if ((local_10e0 != 0.0) || (local_10d8 != 0.0)) {\n      if (local_1158 != (undefined1 *)0x0) goto LAB_002249dc;\n      dVar26 = 0.0;\n      dVar28 = dVar26;\n      goto LAB_002249f4;\n    }\n    if (((uint)local_1158 & 0xffffffdf) != 0xffffffc0) break;\n    dVar26 = local_10d8;\n    lVar33 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n    if (lVar33 != -1) {\n      lVar31 = (ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)*(uint *)(iVar6 + 0x1c);\n      uVar22 = *(uint *)(iVar6 + 0x20) >> 3;\n      if (uVar22 == 2) {\n        sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n        dVar26 = (double)(int)sVar15;\n      }\n      else if (uVar22 == 4) {\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }\n      else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }\n      local_1160._0_4_ = (int)((ulonglong)lVar31 >> 0x20);\n      uVar20 = local_1160._0_4_;\n      local_1160 = lVar31;\n      local_10e0 = dVar26;\n      local_10d8 = dVar26;\n      if (0xffffffff < lVar31) goto LAB_00225060;\n      goto LAB_002252f8;\n    }\n    dVar26 = dVar26 - in_f22_23;\n  } while( true );\n  dVar26 = 0.0;\n  dVar28 = dVar26;\n  if (local_1158 != (undefined1 *)0x0) {\nLAB_002249dc:\n    dVar26 = (double)(*(code *)PTR_FUN_003a8a60)(local_1120,local_111c);\n    dVar28 = dVar26;\n  }\n  goto LAB_002249f4;\nLAB_00225060:\n  iVar7 = 0;\n  uVar22 = 1;\n  dVar28 = dVar26;\n  dVar29 = dVar26;\n  do {\n    uVar13 = *(uint *)(iVar6 + 0x20) >> 3;\n    if (uVar13 == 2) {\n      sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n      dVar26 = (double)(int)sVar15;\n    }\n    else if (uVar13 == 4) {\n      fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n      dVar26 = (double)fVar27;\n    }\n    else if (uVar13 == 1) {\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }\n    else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }\n    dVar5 = dVar26;\n    if (dVar29 <= dVar26) {\n      dVar5 = local_10e0;\n    }\n    local_10e0 = dVar5;\n    uVar13 = uVar22 + 1;\n    dVar29 = dVar26;\n    if (dVar26 <= dVar28) {\n      dVar26 = dVar28;\n      dVar29 = local_10d8;\n    }\n    local_10d8 = dVar29;\n    iVar7 = (uint)(uVar13 < uVar22) + iVar7;\n    uVar22 = uVar13;\n    dVar28 = dVar26;\n    dVar29 = local_10e0;\n    in_f22_23 = local_10e0;\n  } while (lVar31 != CONCAT44(iVar7,uVar13));\n  goto LAB_0022511c;\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "ulonglong uVar2;" (type_identifier "ulonglong") (identifier "uVar2") (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "double dVar5;" (primitive_type "double") (identifier "dVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "undefined1 *puVar8;" (type_identifier "undefined1") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "byte bVar16;" (type_identifier "byte") (identifier "bVar16") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "short sVar15;" (sized_type_specifier "short" (short "short")) (identifier "sVar15") (; ";")) (declaration "undefined4 *puVar14;" (type_identifier "undefined4") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "undefined *puVar17;" (type_identifier "undefined") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "float *pfVar18;" (primitive_type "float") (pointer_declarator "*pfVar18" (* "*") (identifier "pfVar18")) (; ";")) (declaration "double *pdVar19;" (primitive_type "double") (pointer_declarator "*pdVar19" (* "*") (identifier "pdVar19")) (; ";")) (declaration "undefined4 uVar20;" (type_identifier "undefined4") (identifier "uVar20") (; ";")) (declaration "byte *pbVar21;" (type_identifier "byte") (pointer_declarator "*pbVar21" (* "*") (identifier "pbVar21")) (; ";")) (declaration "uint uVar22;" (type_identifier "uint") (identifier "uVar22") (; ";")) (declaration "undefined4 unaff_s3;" (type_identifier "undefined4") (identifier "unaff_s3") (; ";")) (declaration "undefined *puVar23;" (type_identifier "undefined") (pointer_declarator "*puVar23" (* "*") (identifier "puVar23")) (; ";")) (declaration "undefined4 unaff_s5;" (type_identifier "undefined4") (identifier "unaff_s5") (; ";")) (declaration "undefined *puVar24;" (type_identifier "undefined") (pointer_declarator "*puVar24" (* "*") (identifier "puVar24")) (; ";")) (declaration "code *pcVar25;" (type_identifier "code") (pointer_declarator "*pcVar25" (* "*") (identifier "pcVar25")) (; ";")) (declaration "double dVar26;" (primitive_type "double") (identifier "dVar26") (; ";")) (declaration "float fVar27;" (primitive_type "float") (identifier "fVar27") (; ";")) (declaration "double dVar28;" (primitive_type "double") (identifier "dVar28") (; ";")) (declaration "double in_f22_23;" (primitive_type "double") (identifier "in_f22_23") (; ";")) (declaration "double dVar29;" (primitive_type "double") (identifier "dVar29") (; ";")) (declaration "double in_f28_29;" (primitive_type "double") (identifier "in_f28_29") (; ";")) (declaration "double in_f30_31;" (primitive_type "double") (identifier "in_f30_31") (; ";")) (declaration "undefined8 uVar30;" (type_identifier "undefined8") (identifier "uVar30") (; ";")) (declaration "longlong lVar31;" (type_identifier "longlong") (identifier "lVar31") (; ";")) (declaration "undefined8 uVar32;" (type_identifier "undefined8") (identifier "uVar32") (; ";")) (declaration "longlong lVar33;" (type_identifier "longlong") (identifier "lVar33") (; ";")) (declaration "undefined8 local_1160;" (type_identifier "undefined8") (identifier "local_1160") (; ";")) (declaration "undefined1 *local_1158;" (type_identifier "undefined1") (pointer_declarator "*local_1158" (* "*") (identifier "local_1158")) (; ";")) (declaration "undefined *local_1154;" (type_identifier "undefined") (pointer_declarator "*local_1154" (* "*") (identifier "local_1154")) (; ";")) (declaration "int local_114c;" (primitive_type "int") (identifier "local_114c") (; ";")) (declaration "int local_1148;" (primitive_type "int") (identifier "local_1148") (; ";")) (declaration "int local_1144;" (primitive_type "int") (identifier "local_1144") (; ";")) (declaration "uint local_1140;" (type_identifier "uint") (identifier "local_1140") (; ";")) (declaration "undefined *local_1138;" (type_identifier "undefined") (pointer_declarator "*local_1138" (* "*") (identifier "local_1138")) (; ";")) (declaration "undefined *local_1134;" (type_identifier "undefined") (pointer_declarator "*local_1134" (* "*") (identifier "local_1134")) (; ";")) (declaration "undefined *local_112c;" (type_identifier "undefined") (pointer_declarator "*local_112c" (* "*") (identifier "local_112c")) (; ";")) (declaration "int local_1128;" (primitive_type "int") (identifier "local_1128") (; ";")) (declaration "undefined4 local_1124;" (type_identifier "undefined4") (identifier "local_1124") (; ";")) (declaration "int local_1120;" (primitive_type "int") (identifier "local_1120") (; ";")) (declaration "uint local_111c;" (type_identifier "uint") (identifier "local_111c") (; ";")) (declaration "double local_1118;" (primitive_type "double") (identifier "local_1118") (; ";")) (declaration "undefined1 local_110c [4];" (type_identifier "undefined1") (array_declarator "local_110c [4]" (identifier "local_110c") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "double local_1108;" (primitive_type "double") (identifier "local_1108") (; ";")) (declaration "uint local_1100;" (type_identifier "uint") (identifier "local_1100") (; ";")) (declaration "uint local_10fc;" (type_identifier "uint") (identifier "local_10fc") (; ";")) (declaration "undefined1 *local_10f8;" (type_identifier "undefined1") (pointer_declarator "*local_10f8" (* "*") (identifier "local_10f8")) (; ";")) (declaration "int local_10f4;" (primitive_type "int") (identifier "local_10f4") (; ";")) (declaration "int local_10f0;" (primitive_type "int") (identifier "local_10f0") (; ";")) (declaration "int local_10ec;" (primitive_type "int") (identifier "local_10ec") (; ";")) (declaration "undefined *local_10e8;" (type_identifier "undefined") (pointer_declarator "*local_10e8" (* "*") (identifier "local_10e8")) (; ";")) (declaration "double local_10e0;" (primitive_type "double") (identifier "local_10e0") (; ";")) (declaration "double local_10d8;" (primitive_type "double") (identifier "local_10d8") (; ";")) (declaration "double local_10d0;" (primitive_type "double") (identifier "local_10d0") (; ";")) (declaration "double local_10c8;" (primitive_type "double") (identifier "local_10c8") (; ";")) (declaration "undefined4 local_10c0;" (type_identifier "undefined4") (identifier "local_10c0") (; ";")) (declaration "byte local_10b4 [12];" (type_identifier "byte") (array_declarator "local_10b4 [12]" (identifier "local_10b4") ([ "[") (number_literal "12") (] "]")) (; ";")) (declaration "byte local_10a8 [2];" (type_identifier "byte") (array_declarator "local_10a8 [2]" (identifier "local_10a8") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "byte local_10a6 [70];" (type_identifier "byte") (array_declarator "local_10a6 [70]" (identifier "local_10a6") ([ "[") (number_literal "70") (] "]")) (; ";")) (declaration "undefined1 local_1060;" (type_identifier "undefined1") (identifier "local_1060") (; ";")) (declaration "undefined1 auStack_105c [4096];" (type_identifier "undefined1") (array_declarator "auStack_105c [4096]" (identifier "auStack_105c") ([ "[") (number_literal "4096") (] "]")) (; ";")) (declaration "int local_5c;" (primitive_type "int") (identifier "local_5c") (; ";")) (expression_statement "puVar4 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar4 = PTR___stack_chk_guard_003a9230" (identifier "puVar4") (= "=") (identifier "PTR___stack_chk_guard_003a9230")) (; ";")) (expression_statement "lVar31 = CONCAT44(unaff_s3,unaff_s5);" (assignment_expression "lVar31 = CONCAT44(unaff_s3,unaff_s5)" (identifier "lVar31") (= "=") (call_expression "CONCAT44(unaff_s3,unaff_s5)" (identifier "CONCAT44") (argument_list "(unaff_s3,unaff_s5)" (( "(") (identifier "unaff_s3") (, ",") (identifier "unaff_s5") () ")")))) (; ";")) (expression_statement "local_5c = *(int *)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_5c = *(int *)PTR___stack_chk_guard_003a9230" (identifier "local_5c") (= "=") (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")))) (; ";")) (if_statement "if (param_1 == 0) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }" ({ "{") (expression_statement "uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                        PTR_UINT_003a8950 + -0xc60);" (assignment_expression "uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                        PTR_UINT_003a8950 + -0xc60)" (identifier "uVar20") (= "=") (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                        PTR_UINT_003a8950 + -0xc60)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003a9608" (* "*") (cast_expression "(code *)PTR___assert_fail_003a9608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003a9608"))) () ")")) (argument_list "(PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,\n                        PTR_UINT_003a8950 + -0xc60)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0xd78" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0xd78")) (, ",") (binary_expression "PTR_UINT_003a8950 + -0xe40" (identifier "PTR_UINT_003a8950") (+ "+") (number_literal "-0xe40")) (, ",") (number_literal "0x120") (, ",") (binary_expression "PTR_UINT_003a8950 + -0xc60" (identifier "PTR_UINT_003a8950") (+ "+") (number_literal "-0xc60")) () ")")))) (; ";")) (return_statement "return uVar20;" (return "return") (identifier "uVar20") (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x3214) != -0x54535255)" (( "(") (binary_expression "*(int *)(param_1 + 0x3214) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x3214)" (* "*") (cast_expression "(int *)(param_1 + 0x3214)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3214)" (( "(") (binary_expression "param_1 + 0x3214" (identifier "param_1") (+ "+") (number_literal "0x3214")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }" ({ "{") (expression_statement "uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                        PTR_UINT_003a8950 + -0xc60);" (assignment_expression "uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                        PTR_UINT_003a8950 + -0xc60)" (identifier "uVar20") (= "=") (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                        PTR_UINT_003a8950 + -0xc60)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003a9608" (* "*") (cast_expression "(code *)PTR___assert_fail_003a9608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003a9608"))) () ")")) (argument_list "(PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,\n                        PTR_UINT_003a8950 + -0xc60)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0xda0" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0xda0")) (, ",") (binary_expression "PTR_UINT_003a8950 + -0xe40" (identifier "PTR_UINT_003a8950") (+ "+") (number_literal "-0xe40")) (, ",") (number_literal "0x121") (, ",") (binary_expression "PTR_UINT_003a8950 + -0xc60" (identifier "PTR_UINT_003a8950") (+ "+") (number_literal "-0xc60")) () ")")))) (; ";")) (return_statement "return uVar20;" (return "return") (identifier "uVar20") (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x3210) != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x3210) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x3210) != 0" (pointer_expression "*(int *)(param_1 + 0x3210)" (* "*") (cast_expression "(int *)(param_1 + 0x3210)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3210)" (( "(") (binary_expression "param_1 + 0x3210" (identifier "param_1") (+ "+") (number_literal "0x3210")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);\n  }" ({ "{") (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" (( "(") (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" (* "*") (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LogMagickEvent_003a91e0"))) () ")")) (argument_list "(0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "PTR_UINT_003a8950 + -0xe40" (identifier "PTR_UINT_003a8950") (+ "+") (number_literal "-0xe40")) (, ",") (binary_expression "PTR_UINT_003a8950 + -0xc70" (identifier "PTR_UINT_003a8950") (+ "+") (number_literal "-0xc70")) (, ",") (number_literal "0x123") (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x62ac")) (, ",") (binary_expression "param_1 + 0x2210" (identifier "param_1") (+ "+") (number_literal "0x2210")) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_2 == 0) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }" ({ "{") (expression_statement "uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                        PTR_UINT_003a8950 + -0xc60);" (assignment_expression "uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                        PTR_UINT_003a8950 + -0xc60)" (identifier "uVar20") (= "=") (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                        PTR_UINT_003a8950 + -0xc60)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003a9608" (* "*") (cast_expression "(code *)PTR___assert_fail_003a9608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003a9608"))) () ")")) (argument_list "(PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,\n                        PTR_UINT_003a8950 + -0xc60)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x1cac" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1cac")) (, ",") (binary_expression "PTR_UINT_003a8950 + -0xe40" (identifier "PTR_UINT_003a8950") (+ "+") (number_literal "-0xe40")) (, ",") (number_literal "0x125") (, ",") (binary_expression "PTR_UINT_003a8950 + -0xc60" (identifier "PTR_UINT_003a8950") (+ "+") (number_literal "-0xc60")) () ")")))) (; ";")) (return_statement "return uVar20;" (return "return") (identifier "uVar20") (; ";")) (} "}"))) (if_statement "if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }" (if "if") (parenthesized_expression "(*(int *)(param_2 + 0x1c) != -0x54535255)" (( "(") (binary_expression "*(int *)(param_2 + 0x1c) != -0x54535255" (pointer_expression "*(int *)(param_2 + 0x1c)" (* "*") (cast_expression "(int *)(param_2 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1c)" (( "(") (binary_expression "param_2 + 0x1c" (identifier "param_2") (+ "+") (number_literal "0x1c")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n    uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                        PTR_UINT_003a8950 + -0xc60);\n    return uVar20;\n  }" ({ "{") (expression_statement "uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                        PTR_UINT_003a8950 + -0xc60);" (assignment_expression "uVar20 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                        PTR_UINT_003a8950 + -0xc60)" (identifier "uVar20") (= "=") (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                        PTR_UINT_003a8950 + -0xc60)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003a9608" (* "*") (cast_expression "(code *)PTR___assert_fail_003a9608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003a9608"))) () ")")) (argument_list "(PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,\n                        PTR_UINT_003a8950 + -0xc60)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x294c" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x294c")) (, ",") (binary_expression "PTR_UINT_003a8950 + -0xe40" (identifier "PTR_UINT_003a8950") (+ "+") (number_literal "-0xe40")) (, ",") (number_literal "0x126") (, ",") (binary_expression "PTR_UINT_003a8950 + -0xc60" (identifier "PTR_UINT_003a8950") (+ "+") (number_literal "-0xc60")) () ")")))) (; ";")) (return_statement "return uVar20;" (return "return") (identifier "uVar20") (; ";")) (} "}"))) (expression_statement "iVar6 = (*(code *)PTR_AcquireImage_003a960c)(param_1,param_2);" (assignment_expression "iVar6 = (*(code *)PTR_AcquireImage_003a960c)(param_1,param_2)" (identifier "iVar6") (= "=") (call_expression "(*(code *)PTR_AcquireImage_003a960c)(param_1,param_2)" (parenthesized_expression "(*(code *)PTR_AcquireImage_003a960c)" (( "(") (pointer_expression "*(code *)PTR_AcquireImage_003a960c" (* "*") (cast_expression "(code *)PTR_AcquireImage_003a960c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_AcquireImage_003a960c"))) () ")")) (argument_list "(param_1,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") () ")")))) (; ";")) (expression_statement "local_114c = (*(code *)PTR_OpenBlob_003a924c)(param_1,iVar6,2,param_2);" (assignment_expression "local_114c = (*(code *)PTR_OpenBlob_003a924c)(param_1,iVar6,2,param_2)" (identifier "local_114c") (= "=") (call_expression "(*(code *)PTR_OpenBlob_003a924c)(param_1,iVar6,2,param_2)" (parenthesized_expression "(*(code *)PTR_OpenBlob_003a924c)" (( "(") (pointer_expression "*(code *)PTR_OpenBlob_003a924c" (* "*") (cast_expression "(code *)PTR_OpenBlob_003a924c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_OpenBlob_003a924c"))) () ")")) (argument_list "(param_1,iVar6,2,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "iVar6") (, ",") (number_literal "2") (, ",") (identifier "param_2") () ")")))) (; ";")) (expression_statement "puVar3 = PTR_UINT_003a8950;" (assignment_expression "puVar3 = PTR_UINT_003a8950" (identifier "puVar3") (= "=") (identifier "PTR_UINT_003a8950")) (; ";")) (expression_statement "puVar17 = PTR_LAB_003a88e0;" (assignment_expression "puVar17 = PTR_LAB_003a88e0" (identifier "puVar17") (= "=") (identifier "PTR_LAB_003a88e0")) (; ";")) (if_statement "if (local_114c == 0) {\n    (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    uVar20 = 0;\n    dVar26 = in_f22_23;\n  }\n  else {\n    local_1158 = PTR_UINT_003a8950;\n    local_1134 = PTR_LAB_003a88e0;\n    local_1154 = PTR_UINT_003a8950;\n    (*(code *)PTR_memset_003a96d4)(&local_1100,0,0x48);\n    local_10c8 = *(double *)(puVar17 + 0x1438);\n    local_10f8 = &DAT_00000008;\n    local_10f4 = 1;\n    local_10f0 = 1;\n    local_10e8 = (undefined *)0x1;\n    puVar17 = PTR_UINT_003a8950 + -0xe20;\n    puVar23 = PTR_s_t_to_left_003a88e4 + 0x544;\n    local_10c0 = 2;\n    puVar24 = PTR_UINT_003a8950 + -0xe30;\n    local_1160 = CONCAT44(puVar17,local_1160._4_4_);\n    local_110c = (undefined1  [4])0x0;\n    puVar8 = PTR_UINT_003a8950;\n    do {\n      iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      if (iVar7 != 0) {\nLAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;\n        uVar22 = local_10fc;\n        iVar7 = local_10f4;\n        iVar10 = local_10f0;\n        break;\n      }\n      puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      while (puVar8 == (undefined1 *)0x0) {\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);\n        if (iVar7 != 8) break;\n        piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar21 = local_10b4;\n        do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);\n        pbVar21 = local_10a8;\n        local_10b4[(int)puVar8] = 0;\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);\n        local_1060 = 0;\n        if (iVar7 != 0x48) break;\n        if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);\n        if (iVar7 == 0) break;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);\n        if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);\n        if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);\n        if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);\n        if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);\n        if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);\n        if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);\n        if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);\n        if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);\n        if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);\n        puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      }\n      iVar7 = 0;\n      while( true ) {\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);\n        if ((lVar31 == 0) || (iVar7 == -1)) break;\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      }\n      if (local_1100 == 0) goto LAB_00224bd4;\n      if (local_10f8 + -8 < &DAT_00000019) {\n        if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;\n      }\n      else if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }\n    } while (((local_10fc == 0) || (3 < local_10ec - 1U)) ||\n            (lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0));\n    local_1144 = iVar10;\n    local_1148 = iVar7;\n    local_10fc = uVar22;\n    local_10f4 = local_1148;\n    local_10f0 = local_1144;\n    if (local_110c != (undefined1  [4])0x0) {\n      (*(code *)PTR_SetImageProperty_003a9534)\n                (iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)\n      ;\n      local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c);\n    }\n    iVar7 = (int)lVar33;\n    lVar31 = CONCAT44(iVar7,puVar8);\n    iVar10 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n    if (iVar10 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\n    }\n    if (((uVar22 != 0) && (local_10ec - 1U < 4)) && (lVar33 != 0)) {\n      local_1138 = local_10e8;\n      if (0 < (int)local_10e8) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = local_10f8;\n        local_1124 = local_10c0;\n        puVar8 = local_10f8;\n        if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }\n        iVar7 = -1;\n        if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }\n        puVar8 = puVar8 + -1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar11 = 2 << ((uint)puVar8 & 0x1f);\n        local_1128 = iVar7 * (int)local_10f8;\n        uVar13 = uVar11;\n        uVar22 = 1 >> (~(uint)puVar8 & 0x1f);\n        if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar13 - 1;\n        local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);\n        goto LAB_00224900;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224e60;\n    }\n    uVar20 = 0x1a5;\n    puVar17 = PTR_UINT_003a8950 + -0x2c10;\nLAB_00224c3c:\n    lVar31 = CONCAT44(iVar7,puVar8);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar20,0x1a9,puVar17,\n               PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x2210);\n    if (iVar6 != 0) {\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    }\n    uVar20 = 0;\n    dVar26 = in_f22_23;\n  }" (if "if") (parenthesized_expression "(local_114c == 0)" (( "(") (binary_expression "local_114c == 0" (identifier "local_114c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    uVar20 = 0;\n    dVar26 = in_f22_23;\n  }" ({ "{") (expression_statement "(*(code *)PTR_DestroyImageList_003a9510)(iVar6);" (call_expression "(*(code *)PTR_DestroyImageList_003a9510)(iVar6)" (parenthesized_expression "(*(code *)PTR_DestroyImageList_003a9510)" (( "(") (pointer_expression "*(code *)PTR_DestroyImageList_003a9510" (* "*") (cast_expression "(code *)PTR_DestroyImageList_003a9510" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DestroyImageList_003a9510"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))) (; ";")) (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" (identifier "uVar20") (= "=") (number_literal "0")) (; ";")) (expression_statement "dVar26 = in_f22_23;" (assignment_expression "dVar26 = in_f22_23" (identifier "dVar26") (= "=") (identifier "in_f22_23")) (; ";")) (} "}")) (else_clause "else {\n    local_1158 = PTR_UINT_003a8950;\n    local_1134 = PTR_LAB_003a88e0;\n    local_1154 = PTR_UINT_003a8950;\n    (*(code *)PTR_memset_003a96d4)(&local_1100,0,0x48);\n    local_10c8 = *(double *)(puVar17 + 0x1438);\n    local_10f8 = &DAT_00000008;\n    local_10f4 = 1;\n    local_10f0 = 1;\n    local_10e8 = (undefined *)0x1;\n    puVar17 = PTR_UINT_003a8950 + -0xe20;\n    puVar23 = PTR_s_t_to_left_003a88e4 + 0x544;\n    local_10c0 = 2;\n    puVar24 = PTR_UINT_003a8950 + -0xe30;\n    local_1160 = CONCAT44(puVar17,local_1160._4_4_);\n    local_110c = (undefined1  [4])0x0;\n    puVar8 = PTR_UINT_003a8950;\n    do {\n      iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      if (iVar7 != 0) {\nLAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;\n        uVar22 = local_10fc;\n        iVar7 = local_10f4;\n        iVar10 = local_10f0;\n        break;\n      }\n      puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      while (puVar8 == (undefined1 *)0x0) {\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);\n        if (iVar7 != 8) break;\n        piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar21 = local_10b4;\n        do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);\n        pbVar21 = local_10a8;\n        local_10b4[(int)puVar8] = 0;\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);\n        local_1060 = 0;\n        if (iVar7 != 0x48) break;\n        if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);\n        if (iVar7 == 0) break;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);\n        if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);\n        if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);\n        if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);\n        if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);\n        if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);\n        if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);\n        if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);\n        if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);\n        if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);\n        puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      }\n      iVar7 = 0;\n      while( true ) {\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);\n        if ((lVar31 == 0) || (iVar7 == -1)) break;\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      }\n      if (local_1100 == 0) goto LAB_00224bd4;\n      if (local_10f8 + -8 < &DAT_00000019) {\n        if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;\n      }\n      else if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }\n    } while (((local_10fc == 0) || (3 < local_10ec - 1U)) ||\n            (lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0));\n    local_1144 = iVar10;\n    local_1148 = iVar7;\n    local_10fc = uVar22;\n    local_10f4 = local_1148;\n    local_10f0 = local_1144;\n    if (local_110c != (undefined1  [4])0x0) {\n      (*(code *)PTR_SetImageProperty_003a9534)\n                (iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)\n      ;\n      local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c);\n    }\n    iVar7 = (int)lVar33;\n    lVar31 = CONCAT44(iVar7,puVar8);\n    iVar10 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n    if (iVar10 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\n    }\n    if (((uVar22 != 0) && (local_10ec - 1U < 4)) && (lVar33 != 0)) {\n      local_1138 = local_10e8;\n      if (0 < (int)local_10e8) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = local_10f8;\n        local_1124 = local_10c0;\n        puVar8 = local_10f8;\n        if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }\n        iVar7 = -1;\n        if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }\n        puVar8 = puVar8 + -1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar11 = 2 << ((uint)puVar8 & 0x1f);\n        local_1128 = iVar7 * (int)local_10f8;\n        uVar13 = uVar11;\n        uVar22 = 1 >> (~(uint)puVar8 & 0x1f);\n        if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar13 - 1;\n        local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);\n        goto LAB_00224900;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224e60;\n    }\n    uVar20 = 0x1a5;\n    puVar17 = PTR_UINT_003a8950 + -0x2c10;\nLAB_00224c3c:\n    lVar31 = CONCAT44(iVar7,puVar8);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar20,0x1a9,puVar17,\n               PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x2210);\n    if (iVar6 != 0) {\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    }\n    uVar20 = 0;\n    dVar26 = in_f22_23;\n  }" (else "else") (compound_statement "{\n    local_1158 = PTR_UINT_003a8950;\n    local_1134 = PTR_LAB_003a88e0;\n    local_1154 = PTR_UINT_003a8950;\n    (*(code *)PTR_memset_003a96d4)(&local_1100,0,0x48);\n    local_10c8 = *(double *)(puVar17 + 0x1438);\n    local_10f8 = &DAT_00000008;\n    local_10f4 = 1;\n    local_10f0 = 1;\n    local_10e8 = (undefined *)0x1;\n    puVar17 = PTR_UINT_003a8950 + -0xe20;\n    puVar23 = PTR_s_t_to_left_003a88e4 + 0x544;\n    local_10c0 = 2;\n    puVar24 = PTR_UINT_003a8950 + -0xe30;\n    local_1160 = CONCAT44(puVar17,local_1160._4_4_);\n    local_110c = (undefined1  [4])0x0;\n    puVar8 = PTR_UINT_003a8950;\n    do {\n      iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      if (iVar7 != 0) {\nLAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;\n        uVar22 = local_10fc;\n        iVar7 = local_10f4;\n        iVar10 = local_10f0;\n        break;\n      }\n      puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      while (puVar8 == (undefined1 *)0x0) {\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);\n        if (iVar7 != 8) break;\n        piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar21 = local_10b4;\n        do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);\n        pbVar21 = local_10a8;\n        local_10b4[(int)puVar8] = 0;\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);\n        local_1060 = 0;\n        if (iVar7 != 0x48) break;\n        if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);\n        if (iVar7 == 0) break;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);\n        if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);\n        if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);\n        if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);\n        if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);\n        if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);\n        if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);\n        if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);\n        if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);\n        if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);\n        puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      }\n      iVar7 = 0;\n      while( true ) {\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);\n        if ((lVar31 == 0) || (iVar7 == -1)) break;\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      }\n      if (local_1100 == 0) goto LAB_00224bd4;\n      if (local_10f8 + -8 < &DAT_00000019) {\n        if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;\n      }\n      else if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }\n    } while (((local_10fc == 0) || (3 < local_10ec - 1U)) ||\n            (lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0));\n    local_1144 = iVar10;\n    local_1148 = iVar7;\n    local_10fc = uVar22;\n    local_10f4 = local_1148;\n    local_10f0 = local_1144;\n    if (local_110c != (undefined1  [4])0x0) {\n      (*(code *)PTR_SetImageProperty_003a9534)\n                (iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)\n      ;\n      local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c);\n    }\n    iVar7 = (int)lVar33;\n    lVar31 = CONCAT44(iVar7,puVar8);\n    iVar10 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n    if (iVar10 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\n    }\n    if (((uVar22 != 0) && (local_10ec - 1U < 4)) && (lVar33 != 0)) {\n      local_1138 = local_10e8;\n      if (0 < (int)local_10e8) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = local_10f8;\n        local_1124 = local_10c0;\n        puVar8 = local_10f8;\n        if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }\n        iVar7 = -1;\n        if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }\n        puVar8 = puVar8 + -1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar11 = 2 << ((uint)puVar8 & 0x1f);\n        local_1128 = iVar7 * (int)local_10f8;\n        uVar13 = uVar11;\n        uVar22 = 1 >> (~(uint)puVar8 & 0x1f);\n        if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar13 - 1;\n        local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);\n        goto LAB_00224900;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224e60;\n    }\n    uVar20 = 0x1a5;\n    puVar17 = PTR_UINT_003a8950 + -0x2c10;\nLAB_00224c3c:\n    lVar31 = CONCAT44(iVar7,puVar8);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar20,0x1a9,puVar17,\n               PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x2210);\n    if (iVar6 != 0) {\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    }\n    uVar20 = 0;\n    dVar26 = in_f22_23;\n  }" ({ "{") (expression_statement "local_1158 = PTR_UINT_003a8950;" (assignment_expression "local_1158 = PTR_UINT_003a8950" (identifier "local_1158") (= "=") (identifier "PTR_UINT_003a8950")) (; ";")) (expression_statement "local_1134 = PTR_LAB_003a88e0;" (assignment_expression "local_1134 = PTR_LAB_003a88e0" (identifier "local_1134") (= "=") (identifier "PTR_LAB_003a88e0")) (; ";")) (expression_statement "local_1154 = PTR_UINT_003a8950;" (assignment_expression "local_1154 = PTR_UINT_003a8950" (identifier "local_1154") (= "=") (identifier "PTR_UINT_003a8950")) (; ";")) (expression_statement "(*(code *)PTR_memset_003a96d4)(&local_1100,0,0x48);" (call_expression "(*(code *)PTR_memset_003a96d4)(&local_1100,0,0x48)" (parenthesized_expression "(*(code *)PTR_memset_003a96d4)" (( "(") (pointer_expression "*(code *)PTR_memset_003a96d4" (* "*") (cast_expression "(code *)PTR_memset_003a96d4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memset_003a96d4"))) () ")")) (argument_list "(&local_1100,0,0x48)" (( "(") (pointer_expression "&local_1100" (& "&") (identifier "local_1100")) (, ",") (number_literal "0") (, ",") (number_literal "0x48") () ")"))) (; ";")) (expression_statement "local_10c8 = *(double *)(puVar17 + 0x1438);" (assignment_expression "local_10c8 = *(double *)(puVar17 + 0x1438)" (identifier "local_10c8") (= "=") (pointer_expression "*(double *)(puVar17 + 0x1438)" (* "*") (cast_expression "(double *)(puVar17 + 0x1438)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + 0x1438)" (( "(") (binary_expression "puVar17 + 0x1438" (identifier "puVar17") (+ "+") (number_literal "0x1438")) () ")"))))) (; ";")) (expression_statement "local_10f8 = &DAT_00000008;" (assignment_expression "local_10f8 = &DAT_00000008" (identifier "local_10f8") (= "=") (pointer_expression "&DAT_00000008" (& "&") (identifier "DAT_00000008"))) (; ";")) (expression_statement "local_10f4 = 1;" (assignment_expression "local_10f4 = 1" (identifier "local_10f4") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_10f0 = 1;" (assignment_expression "local_10f0 = 1" (identifier "local_10f0") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_10e8 = (undefined *)0x1;" (assignment_expression "local_10e8 = (undefined *)0x1" (identifier "local_10e8") (= "=") (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "puVar17 = PTR_UINT_003a8950 + -0xe20;" (assignment_expression "puVar17 = PTR_UINT_003a8950 + -0xe20" (identifier "puVar17") (= "=") (binary_expression "PTR_UINT_003a8950 + -0xe20" (identifier "PTR_UINT_003a8950") (+ "+") (number_literal "-0xe20"))) (; ";")) (expression_statement "puVar23 = PTR_s_t_to_left_003a88e4 + 0x544;" (assignment_expression "puVar23 = PTR_s_t_to_left_003a88e4 + 0x544" (identifier "puVar23") (= "=") (binary_expression "PTR_s_t_to_left_003a88e4 + 0x544" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "0x544"))) (; ";")) (expression_statement "local_10c0 = 2;" (assignment_expression "local_10c0 = 2" (identifier "local_10c0") (= "=") (number_literal "2")) (; ";")) (expression_statement "puVar24 = PTR_UINT_003a8950 + -0xe30;" (assignment_expression "puVar24 = PTR_UINT_003a8950 + -0xe30" (identifier "puVar24") (= "=") (binary_expression "PTR_UINT_003a8950 + -0xe30" (identifier "PTR_UINT_003a8950") (+ "+") (number_literal "-0xe30"))) (; ";")) (expression_statement "local_1160 = CONCAT44(puVar17,local_1160._4_4_);" (assignment_expression "local_1160 = CONCAT44(puVar17,local_1160._4_4_)" (identifier "local_1160") (= "=") (call_expression "CONCAT44(puVar17,local_1160._4_4_)" (identifier "CONCAT44") (argument_list "(puVar17,local_1160._4_4_)" (( "(") (identifier "puVar17") (, ",") (field_expression "local_1160._4_4_" (identifier "local_1160") (. ".") (field_identifier "_4_4_")) () ")")))) (; ";")) (expression_statement "local_110c = (undefined1  [4])0x0;" (assignment_expression "local_110c = (undefined1  [4])0x0" (identifier "local_110c") (= "=") (cast_expression "(undefined1  [4])0x0" (( "(") (type_descriptor "undefined1  [4]" (type_identifier "undefined1") (abstract_array_declarator "[4]" ([ "[") (number_literal "4") (] "]"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "puVar8 = PTR_UINT_003a8950;" (assignment_expression "puVar8 = PTR_UINT_003a8950" (identifier "puVar8") (= "=") (identifier "PTR_UINT_003a8950")) (; ";")) (do_statement "do {\n      iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      if (iVar7 != 0) {\nLAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;\n        uVar22 = local_10fc;\n        iVar7 = local_10f4;\n        iVar10 = local_10f0;\n        break;\n      }\n      puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      while (puVar8 == (undefined1 *)0x0) {\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);\n        if (iVar7 != 8) break;\n        piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar21 = local_10b4;\n        do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);\n        pbVar21 = local_10a8;\n        local_10b4[(int)puVar8] = 0;\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);\n        local_1060 = 0;\n        if (iVar7 != 0x48) break;\n        if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);\n        if (iVar7 == 0) break;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);\n        if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);\n        if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);\n        if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);\n        if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);\n        if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);\n        if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);\n        if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);\n        if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);\n        if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);\n        puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      }\n      iVar7 = 0;\n      while( true ) {\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);\n        if ((lVar31 == 0) || (iVar7 == -1)) break;\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      }\n      if (local_1100 == 0) goto LAB_00224bd4;\n      if (local_10f8 + -8 < &DAT_00000019) {\n        if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;\n      }\n      else if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }\n    } while (((local_10fc == 0) || (3 < local_10ec - 1U)) ||\n            (lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0));" (do "do") (compound_statement "{\n      iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      if (iVar7 != 0) {\nLAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;\n        uVar22 = local_10fc;\n        iVar7 = local_10f4;\n        iVar10 = local_10f0;\n        break;\n      }\n      puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      while (puVar8 == (undefined1 *)0x0) {\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);\n        if (iVar7 != 8) break;\n        piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar21 = local_10b4;\n        do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);\n        pbVar21 = local_10a8;\n        local_10b4[(int)puVar8] = 0;\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);\n        local_1060 = 0;\n        if (iVar7 != 0x48) break;\n        if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);\n        if (iVar7 == 0) break;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);\n        if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);\n        if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);\n        if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);\n        if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);\n        if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);\n        if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);\n        if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);\n        if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);\n        if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);\n        puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      }\n      iVar7 = 0;\n      while( true ) {\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);\n        if ((lVar31 == 0) || (iVar7 == -1)) break;\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      }\n      if (local_1100 == 0) goto LAB_00224bd4;\n      if (local_10f8 + -8 < &DAT_00000019) {\n        if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;\n      }\n      else if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }\n    }" ({ "{") (expression_statement "iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);" (assignment_expression "iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_EOFBlob_003a9748)(iVar6)" (parenthesized_expression "(*(code *)PTR_EOFBlob_003a9748)" (( "(") (pointer_expression "*(code *)PTR_EOFBlob_003a9748" (* "*") (cast_expression "(code *)PTR_EOFBlob_003a9748" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_EOFBlob_003a9748"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";")) (if_statement "if (iVar7 != 0) {\nLAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;\n        uVar22 = local_10fc;\n        iVar7 = local_10f4;\n        iVar10 = local_10f0;\n        break;\n      }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;\n        uVar22 = local_10fc;\n        iVar7 = local_10f4;\n        iVar10 = local_10f0;\n        break;\n      }" ({ "{") (labeled_statement "LAB_00224bd4:\n        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;" (statement_identifier "LAB_00224bd4") (: ":") (expression_statement "lVar33 = (longlong)local_10f4 * (longlong)local_10f0;" (assignment_expression "lVar33 = (longlong)local_10f4 * (longlong)local_10f0" (identifier "lVar33") (= "=") (binary_expression "(longlong)local_10f4 * (longlong)local_10f0" (cast_expression "(longlong)local_10f4" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (identifier "local_10f4")) (* "*") (cast_expression "(longlong)local_10f0" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (identifier "local_10f0")))) (; ";"))) (expression_statement "uVar22 = local_10fc;" (assignment_expression "uVar22 = local_10fc" (identifier "uVar22") (= "=") (identifier "local_10fc")) (; ";")) (expression_statement "iVar7 = local_10f4;" (assignment_expression "iVar7 = local_10f4" (identifier "iVar7") (= "=") (identifier "local_10f4")) (; ";")) (expression_statement "iVar10 = local_10f0;" (assignment_expression "iVar10 = local_10f0" (identifier "iVar10") (= "=") (identifier "local_10f0")) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);" (assignment_expression "puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6)" (identifier "puVar8") (= "=") (cast_expression "(undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_EOFBlob_003a9748)(iVar6)" (parenthesized_expression "(*(code *)PTR_EOFBlob_003a9748)" (( "(") (pointer_expression "*(code *)PTR_EOFBlob_003a9748" (* "*") (cast_expression "(code *)PTR_EOFBlob_003a9748" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_EOFBlob_003a9748"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))))) (; ";")) (while_statement "while (puVar8 == (undefined1 *)0x0) {\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);\n        if (iVar7 != 8) break;\n        piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar21 = local_10b4;\n        do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);\n        pbVar21 = local_10a8;\n        local_10b4[(int)puVar8] = 0;\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);\n        local_1060 = 0;\n        if (iVar7 != 0x48) break;\n        if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);\n        if (iVar7 == 0) break;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);\n        if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);\n        if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);\n        if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);\n        if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);\n        if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);\n        if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);\n        if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);\n        if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);\n        if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);\n        puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      }" (while "while") (parenthesized_expression "(puVar8 == (undefined1 *)0x0)" (( "(") (binary_expression "puVar8 == (undefined1 *)0x0" (identifier "puVar8") (== "==") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);\n        if (iVar7 != 8) break;\n        piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();\n        pbVar21 = local_10b4;\n        do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);\n        pbVar21 = local_10a8;\n        local_10b4[(int)puVar8] = 0;\n        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);\n        local_1060 = 0;\n        if (iVar7 != 0x48) break;\n        if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);\n        if (iVar7 == 0) break;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);\n        if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);\n        if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);\n        if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);\n        if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);\n        if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);\n        if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);\n        if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);\n        if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);\n        if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);\n        if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);\n        if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n        if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);\n        if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);\n        (*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);\n        puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);\n      }" ({ "{") (expression_statement "iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);" (assignment_expression "iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" (( "(") (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" (* "*") (cast_expression "(code *)PTR_ReadBlob_003a8dac" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlob_003a8dac"))) () ")")) (argument_list "(iVar6,8,local_10b4)" (( "(") (identifier "iVar6") (, ",") (number_literal "8") (, ",") (identifier "local_10b4") () ")")))) (; ";")) (if_statement "if (iVar7 != 8) break;" (if "if") (parenthesized_expression "(iVar7 != 8)" (( "(") (binary_expression "iVar7 != 8" (identifier "iVar7") (!= "!=") (number_literal "8")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();" (assignment_expression "piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)()" (identifier "piVar9") (= "=") (cast_expression "(int *)(*(code *)PTR___ctype_b_loc_003a9434)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___ctype_b_loc_003a9434)()" (parenthesized_expression "(*(code *)PTR___ctype_b_loc_003a9434)" (( "(") (pointer_expression "*(code *)PTR___ctype_b_loc_003a9434" (* "*") (cast_expression "(code *)PTR___ctype_b_loc_003a9434" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___ctype_b_loc_003a9434"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "pbVar21 = local_10b4;" (assignment_expression "pbVar21 = local_10b4" (identifier "pbVar21") (= "=") (identifier "local_10b4")) (; ";")) (do_statement "do {\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        } while (puVar8 != &DAT_00000008);" (do "do") (compound_statement "{\n          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;\n          puVar8 = puVar8 + 1;\n          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();\n          *pbVar21 = bVar16;\n          pbVar21 = pbVar21 + 1;\n        }" ({ "{") (if_statement "if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;" (if "if") (parenthesized_expression "((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0)" (( "(") (binary_expression "(*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0" (parenthesized_expression "(*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20)" (( "(") (binary_expression "*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20" (pointer_expression "*(ushort *)(*piVar9 + (uint)*pbVar21 * 2)" (* "*") (cast_expression "(ushort *)(*piVar9 + (uint)*pbVar21 * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar9 + (uint)*pbVar21 * 2)" (( "(") (binary_expression "*piVar9 + (uint)*pbVar21 * 2" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (binary_expression "(uint)*pbVar21 * 2" (binary_expression "(uint)*pbVar21" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar21")) (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "puVar8 = puVar8 + 1;" (assignment_expression "puVar8 = puVar8 + 1" (identifier "puVar8") (= "=") (binary_expression "puVar8 + 1" (identifier "puVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();" (assignment_expression "bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)()" (identifier "bVar16") (= "=") (call_expression "(*(code *)PTR_LocaleLowercase_003a9684)()" (parenthesized_expression "(*(code *)PTR_LocaleLowercase_003a9684)" (( "(") (pointer_expression "*(code *)PTR_LocaleLowercase_003a9684" (* "*") (cast_expression "(code *)PTR_LocaleLowercase_003a9684" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LocaleLowercase_003a9684"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*pbVar21 = bVar16;" (assignment_expression "*pbVar21 = bVar16" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (= "=") (identifier "bVar16")) (; ";")) (expression_statement "pbVar21 = pbVar21 + 1;" (assignment_expression "pbVar21 = pbVar21 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar21 + 1" (identifier "pbVar21") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar8 != &DAT_00000008)" (( "(") (binary_expression "puVar8 != &DAT_00000008" (identifier "puVar8") (!= "!=") (pointer_expression "&DAT_00000008" (& "&") (identifier "DAT_00000008"))) () ")")) (; ";")) (expression_statement "pbVar21 = local_10a8;" (assignment_expression "pbVar21 = local_10a8" (identifier "pbVar21") (= "=") (identifier "local_10a8")) (; ";")) (expression_statement "local_10b4[(int)puVar8] = 0;" (assignment_expression "local_10b4[(int)puVar8] = 0" (subscript_expression "local_10b4[(int)puVar8]" (identifier "local_10b4") ([ "[") (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);" (assignment_expression "iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" (( "(") (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" (* "*") (cast_expression "(code *)PTR_ReadBlob_003a8dac" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlob_003a8dac"))) () ")")) (argument_list "(iVar6,0x48,pbVar21)" (( "(") (identifier "iVar6") (, ",") (number_literal "0x48") (, ",") (identifier "pbVar21") () ")")))) (; ";")) (expression_statement "local_1060 = 0;" (assignment_expression "local_1060 = 0" (identifier "local_1060") (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar7 != 0x48) break;" (if "if") (parenthesized_expression "(iVar7 != 0x48)" (( "(") (binary_expression "iVar7 != 0x48" (identifier "iVar7") (!= "!=") (number_literal "0x48")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (local_10a8[0] == 0x3d) {\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }" (if "if") (parenthesized_expression "(local_10a8[0] == 0x3d)" (( "(") (binary_expression "local_10a8[0] == 0x3d" (subscript_expression "local_10a8[0]" (identifier "local_10a8") ([ "[") (number_literal "0") (] "]")) (== "==") (number_literal "0x3d")) () ")")) (compound_statement "{\n          pbVar21 = local_10a6;\n          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }\n        }" ({ "{") (expression_statement "pbVar21 = local_10a6;" (assignment_expression "pbVar21 = local_10a6" (identifier "pbVar21") (= "=") (identifier "local_10a6")) (; ";")) (while_statement "while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {\n            pbVar21 = pbVar21 + 1;\n          }" (while "while") (parenthesized_expression "((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0)" (( "(") (binary_expression "(*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0" (parenthesized_expression "(*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20)" (( "(") (binary_expression "*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20" (pointer_expression "*(ushort *)(*piVar9 + (uint)*pbVar21 * 2)" (* "*") (cast_expression "(ushort *)(*piVar9 + (uint)*pbVar21 * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar9 + (uint)*pbVar21 * 2)" (( "(") (binary_expression "*piVar9 + (uint)*pbVar21 * 2" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (binary_expression "(uint)*pbVar21 * 2" (binary_expression "(uint)*pbVar21" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar21")) (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            pbVar21 = pbVar21 + 1;\n          }" ({ "{") (expression_statement "pbVar21 = pbVar21 + 1;" (assignment_expression "pbVar21 = pbVar21 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar21 + 1" (identifier "pbVar21") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" (( "(") (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" (* "*") (cast_expression "(code *)PTR_LocaleCompare_003a9110" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LocaleCompare_003a9110"))) () ")")) (argument_list "(local_10b4,puVar23)" (( "(") (identifier "local_10b4") (, ",") (identifier "puVar23") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) break;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" (( "(") (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" (* "*") (cast_expression "(code *)PTR_LocaleCompare_003a9110" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LocaleCompare_003a9110"))) () ")")) (argument_list "(local_10b4,puVar24)" (( "(") (identifier "local_10b4") (, ",") (identifier "puVar24") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }" ({ "{") (expression_statement "local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);" (assignment_expression "local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54)" (identifier "local_1100") (= "=") (call_expression "(uint)((*pbVar21 & 0xdf) == 0x54)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((*pbVar21 & 0xdf) == 0x54)" (( "(") (binary_expression "(*pbVar21 & 0xdf) == 0x54" (parenthesized_expression "(*pbVar21 & 0xdf)" (( "(") (binary_expression "*pbVar21 & 0xdf" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (& "&") (number_literal "0xdf")) () ")")) (== "==") (number_literal "0x54")) () ")")))) (; ";")) (} "}"))) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" (( "(") (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" (* "*") (cast_expression "(code *)PTR_LocaleCompare_003a9110" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LocaleCompare_003a9110"))) () ")")) (argument_list "(local_10b4,puVar3 + -0xe28)" (( "(") (identifier "local_10b4") (, ",") (binary_expression "puVar3 + -0xe28" (identifier "puVar3") (+ "+") (number_literal "-0xe28")) () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);\n        }" ({ "{") (expression_statement "local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);" (assignment_expression "local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54)" (identifier "local_10fc") (= "=") (call_expression "(uint)((*pbVar21 & 0xdf) == 0x54)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((*pbVar21 & 0xdf) == 0x54)" (( "(") (binary_expression "(*pbVar21 & 0xdf) == 0x54" (parenthesized_expression "(*pbVar21 & 0xdf)" (( "(") (binary_expression "*pbVar21 & 0xdf" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (& "&") (number_literal "0xdf")) () ")")) (== "==") (number_literal "0x54")) () ")")))) (; ";")) (} "}"))) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" (( "(") (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" (* "*") (cast_expression "(code *)PTR_LocaleCompare_003a9110" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LocaleCompare_003a9110"))) () ")")) (argument_list "(local_10b4,puVar17)" (( "(") (identifier "local_10b4") (, ",") (identifier "puVar17") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }" ({ "{") (expression_statement "local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);" (assignment_expression "local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" (identifier "local_10f8") (= "=") (cast_expression "(undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" (parenthesized_expression "(*(code *)PTR_strtol_003a954c)" (( "(") (pointer_expression "*(code *)PTR_strtol_003a954c" (* "*") (cast_expression "(code *)PTR_strtol_003a954c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strtol_003a954c"))) () ")")) (argument_list "(pbVar21,0,10)" (( "(") (identifier "pbVar21") (, ",") (number_literal "0") (, ",") (number_literal "10") () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" (( "(") (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" (* "*") (cast_expression "(code *)PTR_LocaleCompare_003a9110" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LocaleCompare_003a9110"))) () ")")) (argument_list "(local_10b4,puVar3 + -0xe18)" (( "(") (identifier "local_10b4") (, ",") (binary_expression "puVar3 + -0xe18" (identifier "puVar3") (+ "+") (number_literal "-0xe18")) () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }" ({ "{") (expression_statement "local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);" (assignment_expression "local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" (identifier "local_10ec") (= "=") (call_expression "(*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" (parenthesized_expression "(*(code *)PTR_strtol_003a954c)" (( "(") (pointer_expression "*(code *)PTR_strtol_003a954c" (* "*") (cast_expression "(code *)PTR_strtol_003a954c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strtol_003a954c"))) () ")")) (argument_list "(pbVar21,0,10)" (( "(") (identifier "pbVar21") (, ",") (number_literal "0") (, ",") (number_literal "10") () ")")))) (; ";")) (} "}"))) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" (( "(") (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" (* "*") (cast_expression "(code *)PTR_LocaleCompare_003a9110" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LocaleCompare_003a9110"))) () ")")) (argument_list "(local_10b4,PTR_UINT_003a8950 + -0xe10)" (( "(") (identifier "local_10b4") (, ",") (binary_expression "PTR_UINT_003a8950 + -0xe10" (identifier "PTR_UINT_003a8950") (+ "+") (number_literal "-0xe10")) () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }" ({ "{") (expression_statement "local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);" (assignment_expression "local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" (identifier "local_10f4") (= "=") (call_expression "(*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" (parenthesized_expression "(*(code *)PTR_strtol_003a954c)" (( "(") (pointer_expression "*(code *)PTR_strtol_003a954c" (* "*") (cast_expression "(code *)PTR_strtol_003a954c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strtol_003a954c"))) () ")")) (argument_list "(pbVar21,0,10)" (( "(") (identifier "pbVar21") (, ",") (number_literal "0") (, ",") (number_literal "10") () ")")))) (; ";")) (} "}"))) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" (( "(") (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" (* "*") (cast_expression "(code *)PTR_LocaleCompare_003a9110" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LocaleCompare_003a9110"))) () ")")) (argument_list "(local_10b4,PTR_UINT_003a8950 + -0xe08)" (( "(") (identifier "local_10b4") (, ",") (binary_expression "PTR_UINT_003a8950 + -0xe08" (identifier "PTR_UINT_003a8950") (+ "+") (number_literal "-0xe08")) () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }" ({ "{") (expression_statement "local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);" (assignment_expression "local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" (identifier "local_10f0") (= "=") (call_expression "(*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" (parenthesized_expression "(*(code *)PTR_strtol_003a954c)" (( "(") (pointer_expression "*(code *)PTR_strtol_003a954c" (* "*") (cast_expression "(code *)PTR_strtol_003a954c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strtol_003a954c"))) () ")")) (argument_list "(pbVar21,0,10)" (( "(") (identifier "pbVar21") (, ",") (number_literal "0") (, ",") (number_literal "10") () ")")))) (; ";")) (} "}"))) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" (( "(") (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" (* "*") (cast_expression "(code *)PTR_LocaleCompare_003a9110" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LocaleCompare_003a9110"))) () ")")) (argument_list "(local_10b4,PTR_UINT_003a8950 + -0xe00)" (( "(") (identifier "local_10b4") (, ",") (binary_expression "PTR_UINT_003a8950 + -0xe00" (identifier "PTR_UINT_003a8950") (+ "+") (number_literal "-0xe00")) () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);\n        }" ({ "{") (expression_statement "local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);" (assignment_expression "local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" (identifier "local_10e8") (= "=") (cast_expression "(undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_strtol_003a954c)(pbVar21,0,10)" (parenthesized_expression "(*(code *)PTR_strtol_003a954c)" (( "(") (pointer_expression "*(code *)PTR_strtol_003a954c" (* "*") (cast_expression "(code *)PTR_strtol_003a954c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strtol_003a954c"))) () ")")) (argument_list "(pbVar21,0,10)" (( "(") (identifier "pbVar21") (, ",") (number_literal "0") (, ",") (number_literal "10") () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" (( "(") (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" (* "*") (cast_expression "(code *)PTR_LocaleCompare_003a9110" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LocaleCompare_003a9110"))) () ")")) (argument_list "(local_10b4,PTR_UINT_003a8950 + -0xdf8)" (( "(") (identifier "local_10b4") (, ",") (binary_expression "PTR_UINT_003a8950 + -0xdf8" (identifier "PTR_UINT_003a8950") (+ "+") (number_literal "-0xdf8")) () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }" ({ "{") (expression_statement "local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);" (assignment_expression "local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0)" (identifier "local_10d8") (= "=") (cast_expression "(double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,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 "(pbVar21,0)" (( "(") (identifier "pbVar21") (, ",") (number_literal "0") () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" (( "(") (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" (* "*") (cast_expression "(code *)PTR_LocaleCompare_003a9110" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LocaleCompare_003a9110"))) () ")")) (argument_list "(local_10b4,PTR_UINT_003a8950 + -0xdf0)" (( "(") (identifier "local_10b4") (, ",") (binary_expression "PTR_UINT_003a8950 + -0xdf0" (identifier "PTR_UINT_003a8950") (+ "+") (number_literal "-0xdf0")) () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }" ({ "{") (expression_statement "local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);" (assignment_expression "local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0)" (identifier "local_10e0") (= "=") (cast_expression "(double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,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 "(pbVar21,0)" (( "(") (identifier "pbVar21") (, ",") (number_literal "0") () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" (( "(") (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" (* "*") (cast_expression "(code *)PTR_LocaleCompare_003a9110" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LocaleCompare_003a9110"))) () ")")) (argument_list "(local_10b4,PTR_UINT_003a8950 + -0xde8)" (( "(") (identifier "local_10b4") (, ",") (binary_expression "PTR_UINT_003a8950 + -0xde8" (identifier "PTR_UINT_003a8950") (+ "+") (number_literal "-0xde8")) () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }" ({ "{") (expression_statement "local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);" (assignment_expression "local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0)" (identifier "local_10d0") (= "=") (cast_expression "(double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,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 "(pbVar21,0)" (( "(") (identifier "pbVar21") (, ",") (number_literal "0") () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" (( "(") (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" (* "*") (cast_expression "(code *)PTR_LocaleCompare_003a9110" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LocaleCompare_003a9110"))) () ")")) (argument_list "(local_10b4,PTR_UINT_003a8950 + -0xde0)" (( "(") (identifier "local_10b4") (, ",") (binary_expression "PTR_UINT_003a8950 + -0xde0" (identifier "PTR_UINT_003a8950") (+ "+") (number_literal "-0xde0")) () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);\n        }" ({ "{") (expression_statement "local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);" (assignment_expression "local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0)" (identifier "local_10c8") (= "=") (cast_expression "(double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,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 "(pbVar21,0)" (( "(") (identifier "pbVar21") (, ",") (number_literal "0") () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_LocaleCompare_003a9110)\n                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" (( "(") (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" (* "*") (cast_expression "(code *)PTR_LocaleCompare_003a9110" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LocaleCompare_003a9110"))) () ")")) (argument_list "(local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928)" (( "(") (identifier "local_10b4") (, ",") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "-0x1928")) () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }\n        }" ({ "{") (if_statement "if (local_110c == (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }\n          else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }" (if "if") (parenthesized_expression "(local_110c == (undefined1  [4])0x0)" (( "(") (binary_expression "local_110c == (undefined1  [4])0x0" (identifier "local_110c") (== "==") (cast_expression "(undefined1  [4])0x0" (( "(") (type_descriptor "undefined1  [4]" (type_identifier "undefined1") (abstract_array_declarator "[4]" ([ "[") (number_literal "4") (] "]"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);\n          }" ({ "{") (expression_statement "local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);" (assignment_expression "local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21)" (identifier "local_110c") (= "=") (call_expression "(undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21)" (call_expression "(undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)" (parenthesized_expression "(undefined1  [4])" (( "(") (subscript_expression "undefined1  [4]" (identifier "undefined1") ([ "[") (number_literal "4") (] "]")) () ")")) (argument_list "(*(code *)PTR_ConstantString_003a90b4)" (( "(") (pointer_expression "*(code *)PTR_ConstantString_003a90b4" (* "*") (cast_expression "(code *)PTR_ConstantString_003a90b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ConstantString_003a90b4"))) () ")"))) (argument_list "(pbVar21)" (( "(") (identifier "pbVar21") () ")")))) (; ";")) (} "}")) (else_clause "else {\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }" (else "else") (compound_statement "{\n            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);\n          }" ({ "{") (expression_statement "(*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);" (call_expression "(*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21)" (parenthesized_expression "(*(code *)PTR_ConcatenateString_003a93a8)" (( "(") (pointer_expression "*(code *)PTR_ConcatenateString_003a93a8" (* "*") (cast_expression "(code *)PTR_ConcatenateString_003a93a8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ConcatenateString_003a93a8"))) () ")")) (argument_list "(local_110c,pbVar21)" (( "(") (identifier "local_110c") (, ",") (identifier "pbVar21") () ")"))) (; ";")) (} "}")))) (} "}"))) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" (( "(") (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" (* "*") (cast_expression "(code *)PTR_LocaleCompare_003a9110" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LocaleCompare_003a9110"))) () ")")) (argument_list "(local_10b4,PTR_UINT_003a8950 + -0xdd8)" (( "(") (identifier "local_10b4") (, ",") (binary_expression "PTR_UINT_003a8950 + -0xdd8" (identifier "PTR_UINT_003a8950") (+ "+") (number_literal "-0xdd8")) () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);\n          if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }\n        }" ({ "{") (expression_statement "iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3)" (parenthesized_expression "(*(code *)PTR_LocaleNCompare_003a961c)" (( "(") (pointer_expression "*(code *)PTR_LocaleNCompare_003a961c" (* "*") (cast_expression "(code *)PTR_LocaleNCompare_003a961c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LocaleNCompare_003a961c"))) () ")")) (argument_list "(pbVar21,PTR_UINT_003a8950 + -0xdd0,3)" (( "(") (identifier "pbVar21") (, ",") (binary_expression "PTR_UINT_003a8950 + -0xdd0" (identifier "PTR_UINT_003a8950") (+ "+") (number_literal "-0xdd0")) (, ",") (number_literal "3") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n            local_10c0 = 2;\n          }\n          else {\n            local_10c0 = 1;\n          }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_10c0 = 2;\n          }" ({ "{") (expression_statement "local_10c0 = 2;" (assignment_expression "local_10c0 = 2" (identifier "local_10c0") (= "=") (number_literal "2")) (; ";")) (} "}")) (else_clause "else {\n            local_10c0 = 1;\n          }" (else "else") (compound_statement "{\n            local_10c0 = 1;\n          }" ({ "{") (expression_statement "local_10c0 = 1;" (assignment_expression "local_10c0 = 1" (identifier "local_10c0") (= "=") (number_literal "1")) (; ";")) (} "}")))) (} "}"))) (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4)" (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_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4)" (( "(") (identifier "auStack_105c") (, ",") (number_literal "0x1000") (, ",") (binary_expression "PTR_UINT_003a8950 + -0xdcc" (identifier "PTR_UINT_003a8950") (+ "+") (number_literal "-0xdcc")) (, ",") (identifier "local_10b4") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);" (call_expression "(*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2)" (parenthesized_expression "(*(code *)PTR_SetImageProperty_003a9534)" (( "(") (pointer_expression "*(code *)PTR_SetImageProperty_003a9534" (* "*") (cast_expression "(code *)PTR_SetImageProperty_003a9534" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_SetImageProperty_003a9534"))) () ")")) (argument_list "(iVar6,auStack_105c,pbVar21,param_2)" (( "(") (identifier "iVar6") (, ",") (identifier "auStack_105c") (, ",") (identifier "pbVar21") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);" (assignment_expression "puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6)" (identifier "puVar8") (= "=") (cast_expression "(undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_EOFBlob_003a9748)(iVar6)" (parenthesized_expression "(*(code *)PTR_EOFBlob_003a9748)" (( "(") (pointer_expression "*(code *)PTR_EOFBlob_003a9748" (* "*") (cast_expression "(code *)PTR_EOFBlob_003a9748" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_EOFBlob_003a9748"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (while_statement "while( true ) {\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);\n        if ((lVar31 == 0) || (iVar7 == -1)) break;\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);\n        if ((lVar31 == 0) || (iVar7 == -1)) break;\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      }" ({ "{") (expression_statement "uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);" (assignment_expression "uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6)" (identifier "uVar30") (= "=") (call_expression "(*(code *)PTR_TellBlob_003a931c)(iVar6)" (parenthesized_expression "(*(code *)PTR_TellBlob_003a931c)" (( "(") (pointer_expression "*(code *)PTR_TellBlob_003a931c" (* "*") (cast_expression "(code *)PTR_TellBlob_003a931c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_TellBlob_003a931c"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";")) (expression_statement "lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);" (assignment_expression "lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40)" (identifier "lVar31") (= "=") (call_expression "(*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40)" (parenthesized_expression "(*(code *)PTR_FUN_003a8a78)" (( "(") (pointer_expression "*(code *)PTR_FUN_003a8a78" (* "*") (cast_expression "(code *)PTR_FUN_003a8a78" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_003a8a78"))) () ")")) (argument_list "((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40)" (( "(") (cast_expression "(int)((ulonglong)uVar30 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar30 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar30 >> 0x20" (cast_expression "(ulonglong)uVar30" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar30")) (>> ">>") (number_literal "0x20")) () ")"))) (, ",") (cast_expression "(int)uVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar30")) (, ",") (number_literal "0") (, ",") (number_literal "0xb40") () ")")))) (; ";")) (if_statement "if ((lVar31 == 0) || (iVar7 == -1)) break;" (if "if") (parenthesized_expression "((lVar31 == 0) || (iVar7 == -1))" (( "(") (binary_expression "(lVar31 == 0) || (iVar7 == -1)" (parenthesized_expression "(lVar31 == 0)" (( "(") (binary_expression "lVar31 == 0" (identifier "lVar31") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar7 == -1)" (( "(") (binary_expression "iVar7 == -1" (identifier "iVar7") (== "==") (number_literal "-1")) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);" (assignment_expression "iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" (* "*") (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobByte_003a97f0"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";")) (} "}"))) (if_statement "if (local_1100 == 0) goto LAB_00224bd4;" (if "if") (parenthesized_expression "(local_1100 == 0)" (( "(") (binary_expression "local_1100 == 0" (identifier "local_1100") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00224bd4;" (goto "goto") (statement_identifier "LAB_00224bd4") (; ";"))) (if_statement "if (local_10f8 + -8 < &DAT_00000019) {\n        if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;\n      }\n      else if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }" (if "if") (parenthesized_expression "(local_10f8 + -8 < &DAT_00000019)" (( "(") (binary_expression "local_10f8 + -8 < &DAT_00000019" (binary_expression "local_10f8 + -8" (identifier "local_10f8") (+ "+") (number_literal "-8")) (< "<") (pointer_expression "&DAT_00000019" (& "&") (identifier "DAT_00000019"))) () ")")) (compound_statement "{\n        if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;\n      }" ({ "{") (if_statement "if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;" (if "if") (parenthesized_expression "(-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f))" (( "(") (binary_expression "-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)" (number_literal "-1") (< "<") (cast_expression "(int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)" (( "(") (binary_expression "(0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f" (parenthesized_expression "(0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f))" (( "(") (binary_expression "0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)" (number_literal "0x1000101U") (>> ">>") (parenthesized_expression "((uint)(local_10f8 + -8) & 0x1f)" (( "(") (binary_expression "(uint)(local_10f8 + -8) & 0x1f" (call_expression "(uint)(local_10f8 + -8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_10f8 + -8)" (( "(") (binary_expression "local_10f8 + -8" (identifier "local_10f8") (+ "+") (number_literal "-8")) () ")"))) (& "&") (number_literal "0x1f")) () ")"))) () ")")) (<< "<<") (number_literal "0x1f")) () ")")))) () ")")) (goto_statement "goto LAB_002245cc;" (goto "goto") (statement_identifier "LAB_002245cc") (; ";"))) (} "}")) (else_clause "else if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }" (else "else") (if_statement "if (local_10f8 != (undefined1 *)0x40) {\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }" (if "if") (parenthesized_expression "(local_10f8 != (undefined1 *)0x40)" (( "(") (binary_expression "local_10f8 != (undefined1 *)0x40" (identifier "local_10f8") (!= "!=") (cast_expression "(undefined1 *)0x40" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x40"))) () ")")) (compound_statement "{\nLAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }\n      }" ({ "{") (labeled_statement "LAB_002245cc:\n        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }" (statement_identifier "LAB_002245cc") (: ":") (if_statement "if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }" (if "if") (parenthesized_expression "(((uint)local_10f8 & 0xffffffdf) != 0xffffffc0)" (( "(") (binary_expression "((uint)local_10f8 & 0xffffffdf) != 0xffffffc0" (parenthesized_expression "((uint)local_10f8 & 0xffffffdf)" (( "(") (binary_expression "(uint)local_10f8 & 0xffffffdf" (cast_expression "(uint)local_10f8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_10f8")) (& "&") (number_literal "0xffffffdf")) () ")")) (!= "!=") (number_literal "0xffffffc0")) () ")")) (compound_statement "{\n          if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }\n          uVar20 = 400;\n          puVar17 = PTR_s_courses_003a88ec + -400;\n          goto LAB_00224c3c;\n        }" ({ "{") (if_statement "if (local_110c != (undefined1  [4])0x0) {\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }" (if "if") (parenthesized_expression "(local_110c != (undefined1  [4])0x0)" (( "(") (binary_expression "local_110c != (undefined1  [4])0x0" (identifier "local_110c") (!= "!=") (cast_expression "(undefined1  [4])0x0" (( "(") (type_descriptor "undefined1  [4]" (type_identifier "undefined1") (abstract_array_declarator "[4]" ([ "[") (number_literal "4") (] "]"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();\n          }" ({ "{") (expression_statement "local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();" (assignment_expression "local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)()" (identifier "local_110c") (= "=") (call_expression "(undefined1  [4])(*(code *)PTR_DestroyString_003a9074)()" (call_expression "(undefined1  [4])(*(code *)PTR_DestroyString_003a9074)" (parenthesized_expression "(undefined1  [4])" (( "(") (subscript_expression "undefined1  [4]" (identifier "undefined1") ([ "[") (number_literal "4") (] "]")) () ")")) (argument_list "(*(code *)PTR_DestroyString_003a9074)" (( "(") (pointer_expression "*(code *)PTR_DestroyString_003a9074" (* "*") (cast_expression "(code *)PTR_DestroyString_003a9074" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DestroyString_003a9074"))) () ")"))) (argument_list "()" (( "(") () ")")))) (; ";")) (} "}"))) (expression_statement "uVar20 = 400;" (assignment_expression "uVar20 = 400" (identifier "uVar20") (= "=") (number_literal "400")) (; ";")) (expression_statement "puVar17 = PTR_s_courses_003a88ec + -400;" (assignment_expression "puVar17 = PTR_s_courses_003a88ec + -400" (identifier "puVar17") (= "=") (binary_expression "PTR_s_courses_003a88ec + -400" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "-400"))) (; ";")) (goto_statement "goto LAB_00224c3c;" (goto "goto") (statement_identifier "LAB_00224c3c") (; ";")) (} "}")))) (} "}"))))) (} "}")) (while "while") (parenthesized_expression "(((local_10fc == 0) || (3 < local_10ec - 1U)) ||\n            (lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0))" (( "(") (binary_expression "((local_10fc == 0) || (3 < local_10ec - 1U)) ||\n            (lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0)" (parenthesized_expression "((local_10fc == 0) || (3 < local_10ec - 1U))" (( "(") (binary_expression "(local_10fc == 0) || (3 < local_10ec - 1U)" (parenthesized_expression "(local_10fc == 0)" (( "(") (binary_expression "local_10fc == 0" (identifier "local_10fc") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(3 < local_10ec - 1U)" (( "(") (binary_expression "3 < local_10ec - 1U" (number_literal "3") (< "<") (binary_expression "local_10ec - 1U" (identifier "local_10ec") (- "-") (number_literal "1U"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0)" (( "(") (comma_expression "lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0" (assignment_expression "lVar33 = (longlong)local_10f4 * (longlong)local_10f0" (identifier "lVar33") (= "=") (binary_expression "(longlong)local_10f4 * (longlong)local_10f0" (cast_expression "(longlong)local_10f4" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (identifier "local_10f4")) (* "*") (cast_expression "(longlong)local_10f0" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (identifier "local_10f0")))) (, ",") (comma_expression "uVar22 = local_10fc,\n            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0" (assignment_expression "uVar22 = local_10fc" (identifier "uVar22") (= "=") (identifier "local_10fc")) (, ",") (comma_expression "iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0" (assignment_expression "iVar7 = local_10f4" (identifier "iVar7") (= "=") (identifier "local_10f4")) (, ",") (comma_expression "iVar10 = local_10f0, lVar33 == 0" (assignment_expression "iVar10 = local_10f0" (identifier "iVar10") (= "=") (identifier "local_10f0")) (, ",") (binary_expression "lVar33 == 0" (identifier "lVar33") (== "==") (number_literal "0")))))) () ")"))) () ")")) (; ";")) (expression_statement "local_1144 = iVar10;" (assignment_expression "local_1144 = iVar10" (identifier "local_1144") (= "=") (identifier "iVar10")) (; ";")) (expression_statement "local_1148 = iVar7;" (assignment_expression "local_1148 = iVar7" (identifier "local_1148") (= "=") (identifier "iVar7")) (; ";")) (expression_statement "local_10fc = uVar22;" (assignment_expression "local_10fc = uVar22" (identifier "local_10fc") (= "=") (identifier "uVar22")) (; ";")) (expression_statement "local_10f4 = local_1148;" (assignment_expression "local_10f4 = local_1148" (identifier "local_10f4") (= "=") (identifier "local_1148")) (; ";")) (expression_statement "local_10f0 = local_1144;" (assignment_expression "local_10f0 = local_1144" (identifier "local_10f0") (= "=") (identifier "local_1144")) (; ";")) (if_statement "if (local_110c != (undefined1  [4])0x0) {\n      (*(code *)PTR_SetImageProperty_003a9534)\n                (iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)\n      ;\n      local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c);\n    }" (if "if") (parenthesized_expression "(local_110c != (undefined1  [4])0x0)" (( "(") (binary_expression "local_110c != (undefined1  [4])0x0" (identifier "local_110c") (!= "!=") (cast_expression "(undefined1  [4])0x0" (( "(") (type_descriptor "undefined1  [4]" (type_identifier "undefined1") (abstract_array_declarator "[4]" ([ "[") (number_literal "4") (] "]"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      (*(code *)PTR_SetImageProperty_003a9534)\n                (iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)\n      ;\n      local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c);\n    }" ({ "{") (expression_statement "(*(code *)PTR_SetImageProperty_003a9534)\n                (iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)\n      ;" (call_expression "(*(code *)PTR_SetImageProperty_003a9534)\n                (iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)" (parenthesized_expression "(*(code *)PTR_SetImageProperty_003a9534)" (( "(") (pointer_expression "*(code *)PTR_SetImageProperty_003a9534" (* "*") (cast_expression "(code *)PTR_SetImageProperty_003a9534" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_SetImageProperty_003a9534"))) () ")")) (argument_list "(iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)" (( "(") (identifier "iVar6") (, ",") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "-0x1928")) (, ",") (identifier "local_110c") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c);" (assignment_expression "local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c)" (identifier "local_110c") (= "=") (call_expression "(undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c)" (call_expression "(undefined1  [4])(*(code *)PTR_DestroyString_003a9074)" (parenthesized_expression "(undefined1  [4])" (( "(") (subscript_expression "undefined1  [4]" (identifier "undefined1") ([ "[") (number_literal "4") (] "]")) () ")")) (argument_list "(*(code *)PTR_DestroyString_003a9074)" (( "(") (pointer_expression "*(code *)PTR_DestroyString_003a9074" (* "*") (cast_expression "(code *)PTR_DestroyString_003a9074" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DestroyString_003a9074"))) () ")"))) (argument_list "(local_110c)" (( "(") (identifier "local_110c") () ")")))) (; ";")) (} "}"))) (expression_statement "iVar7 = (int)lVar33;" (assignment_expression "iVar7 = (int)lVar33" (identifier "iVar7") (= "=") (cast_expression "(int)lVar33" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar33"))) (; ";")) (expression_statement "lVar31 = CONCAT44(iVar7,puVar8);" (assignment_expression "lVar31 = CONCAT44(iVar7,puVar8)" (identifier "lVar31") (= "=") (call_expression "CONCAT44(iVar7,puVar8)" (identifier "CONCAT44") (argument_list "(iVar7,puVar8)" (( "(") (identifier "iVar7") (, ",") (identifier "puVar8") () ")")))) (; ";")) (expression_statement "iVar10 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);" (assignment_expression "iVar10 = (*(code *)PTR_EOFBlob_003a9748)(iVar6)" (identifier "iVar10") (= "=") (call_expression "(*(code *)PTR_EOFBlob_003a9748)(iVar6)" (parenthesized_expression "(*(code *)PTR_EOFBlob_003a9748)" (( "(") (pointer_expression "*(code *)PTR_EOFBlob_003a9748" (* "*") (cast_expression "(code *)PTR_EOFBlob_003a9748" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_EOFBlob_003a9748"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";")) (if_statement "if (iVar10 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\n    }" (if "if") (parenthesized_expression "(iVar10 != 0)" (( "(") (binary_expression "iVar10 != 0" (identifier "iVar10") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\n    }" ({ "{") (expression_statement "puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" (identifier "puVar14") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_003a99b0)()" (parenthesized_expression "(*(code *)PTR___errno_location_003a99b0)" (( "(") (pointer_expression "*(code *)PTR___errno_location_003a99b0" (* "*") (cast_expression "(code *)PTR___errno_location_003a99b0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_003a99b0"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);" (assignment_expression "uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14)" (identifier "uVar20") (= "=") (call_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14)" (parenthesized_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)" (( "(") (pointer_expression "*(code *)PTR_GetExceptionMessage_003a93ec" (* "*") (cast_expression "(code *)PTR_GetExceptionMessage_003a93ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetExceptionMessage_003a93ec"))) () ")")) (argument_list "(*puVar14)" (( "(") (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) () ")")))) (; ";")) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20)" (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_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20)" (( "(") (identifier "param_2") (, ",") (binary_expression "PTR_UINT_003a8950 + -0xe40" (identifier "PTR_UINT_003a8950") (+ "+") (number_literal "-0xe40")) (, ",") (binary_expression "PTR_UINT_003a8950 + -0xc70" (identifier "PTR_UINT_003a8950") (+ "+") (number_literal "-0xc70")) (, ",") (number_literal "0x1a1") (, ",") (number_literal "0x1a9") (, ",") (binary_expression "PTR_s_courses_003a88ec + -0x17c" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "-0x17c")) (, ",") (binary_expression "PTR_LAB_003a88e0 + 0xe78" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0xe78")) (, ",") (binary_expression "iVar6 + 0x340" (identifier "iVar6") (+ "+") (number_literal "0x340")) (, ",") (identifier "uVar20") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_DestroyString_003a9074)(uVar20);" (call_expression "(*(code *)PTR_DestroyString_003a9074)(uVar20)" (parenthesized_expression "(*(code *)PTR_DestroyString_003a9074)" (( "(") (pointer_expression "*(code *)PTR_DestroyString_003a9074" (* "*") (cast_expression "(code *)PTR_DestroyString_003a9074" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DestroyString_003a9074"))) () ")")) (argument_list "(uVar20)" (( "(") (identifier "uVar20") () ")"))) (; ";")) (} "}"))) (if_statement "if (((uVar22 != 0) && (local_10ec - 1U < 4)) && (lVar33 != 0)) {\n      local_1138 = local_10e8;\n      if (0 < (int)local_10e8) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = local_10f8;\n        local_1124 = local_10c0;\n        puVar8 = local_10f8;\n        if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }\n        iVar7 = -1;\n        if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }\n        puVar8 = puVar8 + -1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar11 = 2 << ((uint)puVar8 & 0x1f);\n        local_1128 = iVar7 * (int)local_10f8;\n        uVar13 = uVar11;\n        uVar22 = 1 >> (~(uint)puVar8 & 0x1f);\n        if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar13 - 1;\n        local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);\n        goto LAB_00224900;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224e60;\n    }" (if "if") (parenthesized_expression "(((uVar22 != 0) && (local_10ec - 1U < 4)) && (lVar33 != 0))" (( "(") (binary_expression "((uVar22 != 0) && (local_10ec - 1U < 4)) && (lVar33 != 0)" (parenthesized_expression "((uVar22 != 0) && (local_10ec - 1U < 4))" (( "(") (binary_expression "(uVar22 != 0) && (local_10ec - 1U < 4)" (parenthesized_expression "(uVar22 != 0)" (( "(") (binary_expression "uVar22 != 0" (identifier "uVar22") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_10ec - 1U < 4)" (( "(") (binary_expression "local_10ec - 1U < 4" (binary_expression "local_10ec - 1U" (identifier "local_10ec") (- "-") (number_literal "1U")) (< "<") (number_literal "4")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(lVar33 != 0)" (( "(") (binary_expression "lVar33 != 0" (identifier "lVar33") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      local_1138 = local_10e8;\n      if (0 < (int)local_10e8) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = local_10f8;\n        local_1124 = local_10c0;\n        puVar8 = local_10f8;\n        if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }\n        iVar7 = -1;\n        if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }\n        puVar8 = puVar8 + -1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar11 = 2 << ((uint)puVar8 & 0x1f);\n        local_1128 = iVar7 * (int)local_10f8;\n        uVar13 = uVar11;\n        uVar22 = 1 >> (~(uint)puVar8 & 0x1f);\n        if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar13 - 1;\n        local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);\n        goto LAB_00224900;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224e60;\n    }" ({ "{") (expression_statement "local_1138 = local_10e8;" (assignment_expression "local_1138 = local_10e8" (identifier "local_1138") (= "=") (identifier "local_10e8")) (; ";")) (if_statement "if (0 < (int)local_10e8) {\n        local_1154 = (undefined *)0x0;\n        local_1158 = local_10f8;\n        local_1124 = local_10c0;\n        puVar8 = local_10f8;\n        if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }\n        iVar7 = -1;\n        if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }\n        puVar8 = puVar8 + -1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar11 = 2 << ((uint)puVar8 & 0x1f);\n        local_1128 = iVar7 * (int)local_10f8;\n        uVar13 = uVar11;\n        uVar22 = 1 >> (~(uint)puVar8 & 0x1f);\n        if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar13 - 1;\n        local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);\n        goto LAB_00224900;\n      }" (if "if") (parenthesized_expression "(0 < (int)local_10e8)" (( "(") (binary_expression "0 < (int)local_10e8" (number_literal "0") (< "<") (cast_expression "(int)local_10e8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_10e8"))) () ")")) (compound_statement "{\n        local_1154 = (undefined *)0x0;\n        local_1158 = local_10f8;\n        local_1124 = local_10c0;\n        puVar8 = local_10f8;\n        if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }\n        iVar7 = -1;\n        if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }\n        puVar8 = puVar8 + -1;\n        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);\n        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);\n        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n        uVar11 = 2 << ((uint)puVar8 & 0x1f);\n        local_1128 = iVar7 * (int)local_10f8;\n        uVar13 = uVar11;\n        uVar22 = 1 >> (~(uint)puVar8 & 0x1f);\n        if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }\n        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;\n        local_111c = uVar13 - 1;\n        local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);\n        goto LAB_00224900;\n      }" ({ "{") (expression_statement "local_1154 = (undefined *)0x0;" (assignment_expression "local_1154 = (undefined *)0x0" (identifier "local_1154") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_1158 = local_10f8;" (assignment_expression "local_1158 = local_10f8" (identifier "local_1158") (= "=") (identifier "local_10f8")) (; ";")) (expression_statement "local_1124 = local_10c0;" (assignment_expression "local_1124 = local_10c0" (identifier "local_1124") (= "=") (identifier "local_10c0")) (; ";")) (expression_statement "puVar8 = local_10f8;" (assignment_expression "puVar8 = local_10f8" (identifier "puVar8") (= "=") (identifier "local_10f8")) (; ";")) (if_statement "if ((undefined1 *)0x40 < local_10f8) {\n          puVar8 = (undefined1 *)0x0;\n        }" (if "if") (parenthesized_expression "((undefined1 *)0x40 < local_10f8)" (( "(") (binary_expression "(undefined1 *)0x40 < local_10f8" (cast_expression "(undefined1 *)0x40" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x40")) (< "<") (identifier "local_10f8")) () ")")) (compound_statement "{\n          puVar8 = (undefined1 *)0x0;\n        }" ({ "{") (expression_statement "puVar8 = (undefined1 *)0x0;" (assignment_expression "puVar8 = (undefined1 *)0x0" (identifier "puVar8") (= "=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (expression_statement "iVar7 = -1;" (assignment_expression "iVar7 = -1" (identifier "iVar7") (= "=") (number_literal "-1")) (; ";")) (if_statement "if (-1 < (int)local_10f8) {\n          iVar7 = 1;\n        }" (if "if") (parenthesized_expression "(-1 < (int)local_10f8)" (( "(") (binary_expression "-1 < (int)local_10f8" (number_literal "-1") (< "<") (cast_expression "(int)local_10f8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_10f8"))) () ")")) (compound_statement "{\n          iVar7 = 1;\n        }" ({ "{") (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" (identifier "iVar7") (= "=") (number_literal "1")) (; ";")) (} "}"))) (expression_statement "puVar8 = puVar8 + -1;" (assignment_expression "puVar8 = puVar8 + -1" (identifier "puVar8") (= "=") (binary_expression "puVar8 + -1" (identifier "puVar8") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);" (assignment_expression "local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78)" (identifier "local_1118") (= "=") (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1a78)" (* "*") (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1a78)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1a78)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x1a78" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1a78")) () ")"))))) (; ";")) (expression_statement "in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);" (assignment_expression "in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8)" (identifier "in_f28_29") (= "=") (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x13f8)" (* "*") (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x13f8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003a88e0 + 0x13f8)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x13f8" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x13f8")) () ")"))))) (; ";")) (expression_statement "in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);" (assignment_expression "in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58)" (identifier "in_f30_31") (= "=") (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1a58)" (* "*") (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1a58)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1a58)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x1a58" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1a58")) () ")"))))) (; ";")) (expression_statement "uVar11 = 2 << ((uint)puVar8 & 0x1f);" (assignment_expression "uVar11 = 2 << ((uint)puVar8 & 0x1f)" (identifier "uVar11") (= "=") (binary_expression "2 << ((uint)puVar8 & 0x1f)" (number_literal "2") (<< "<<") (parenthesized_expression "((uint)puVar8 & 0x1f)" (( "(") (binary_expression "(uint)puVar8 & 0x1f" (cast_expression "(uint)puVar8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar8")) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "local_1128 = iVar7 * (int)local_10f8;" (assignment_expression "local_1128 = iVar7 * (int)local_10f8" (identifier "local_1128") (= "=") (binary_expression "iVar7 * (int)local_10f8" (identifier "iVar7") (* "*") (cast_expression "(int)local_10f8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_10f8")))) (; ";")) (expression_statement "uVar13 = uVar11;" (assignment_expression "uVar13 = uVar11" (identifier "uVar13") (= "=") (identifier "uVar11")) (; ";")) (expression_statement "uVar22 = 1 >> (~(uint)puVar8 & 0x1f);" (assignment_expression "uVar22 = 1 >> (~(uint)puVar8 & 0x1f)" (identifier "uVar22") (= "=") (binary_expression "1 >> (~(uint)puVar8 & 0x1f)" (number_literal "1") (>> ">>") (parenthesized_expression "(~(uint)puVar8 & 0x1f)" (( "(") (binary_expression "~(uint)puVar8 & 0x1f" (unary_expression "~(uint)puVar8" (~ "~") (cast_expression "(uint)puVar8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar8"))) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (if_statement "if (((uint)puVar8 & 0x20) != 0) {\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }" (if "if") (parenthesized_expression "(((uint)puVar8 & 0x20) != 0)" (( "(") (binary_expression "((uint)puVar8 & 0x20) != 0" (parenthesized_expression "((uint)puVar8 & 0x20)" (( "(") (binary_expression "(uint)puVar8 & 0x20" (cast_expression "(uint)puVar8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar8")) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar13 = 0;\n          uVar22 = uVar11;\n        }" ({ "{") (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar22 = uVar11;" (assignment_expression "uVar22 = uVar11" (identifier "uVar22") (= "=") (identifier "uVar11")) (; ";")) (} "}"))) (expression_statement "local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;" (assignment_expression "local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0" (identifier "local_112c") (= "=") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "-0x2dd0"))) (; ";")) (expression_statement "local_111c = uVar13 - 1;" (assignment_expression "local_111c = uVar13 - 1" (identifier "local_111c") (= "=") (binary_expression "uVar13 - 1" (identifier "uVar13") (- "-") (number_literal "1"))) (; ";")) (expression_statement "local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);" (assignment_expression "local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1)" (identifier "local_1120") (= "=") (binary_expression "(uint)(local_111c < uVar13) + (uVar22 - 1)" (call_expression "(uint)(local_111c < uVar13)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_111c < uVar13)" (( "(") (binary_expression "local_111c < uVar13" (identifier "local_111c") (< "<") (identifier "uVar13")) () ")"))) (+ "+") (parenthesized_expression "(uVar22 - 1)" (( "(") (binary_expression "uVar22 - 1" (identifier "uVar22") (- "-") (number_literal "1")) () ")")))) (; ";")) (goto_statement "goto LAB_00224900;" (goto "goto") (statement_identifier "LAB_00224900") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(iVar6);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(iVar6)" (parenthesized_expression "(*(code *)PTR_CloseBlob_003a9688)" (( "(") (pointer_expression "*(code *)PTR_CloseBlob_003a9688" (* "*") (cast_expression "(code *)PTR_CloseBlob_003a9688" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_CloseBlob_003a9688"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))) (; ";")) (goto_statement "goto LAB_00224e60;" (goto "goto") (statement_identifier "LAB_00224e60") (; ";")) (} "}"))) (expression_statement "uVar20 = 0x1a5;" (assignment_expression "uVar20 = 0x1a5" (identifier "uVar20") (= "=") (number_literal "0x1a5")) (; ";")) (expression_statement "puVar17 = PTR_UINT_003a8950 + -0x2c10;" (assignment_expression "puVar17 = PTR_UINT_003a8950 + -0x2c10" (identifier "puVar17") (= "=") (binary_expression "PTR_UINT_003a8950 + -0x2c10" (identifier "PTR_UINT_003a8950") (+ "+") (number_literal "-0x2c10"))) (; ";")) (labeled_statement "LAB_00224c3c:\n    lVar31 = CONCAT44(iVar7,puVar8);" (statement_identifier "LAB_00224c3c") (: ":") (expression_statement "lVar31 = CONCAT44(iVar7,puVar8);" (assignment_expression "lVar31 = CONCAT44(iVar7,puVar8)" (identifier "lVar31") (= "=") (call_expression "CONCAT44(iVar7,puVar8)" (identifier "CONCAT44") (argument_list "(iVar7,puVar8)" (( "(") (identifier "iVar7") (, ",") (identifier "puVar8") () ")")))) (; ";"))) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar20,0x1a9,puVar17,\n               PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x2210);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar20,0x1a9,puVar17,\n               PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x2210)" (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_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar20,0x1a9,puVar17,\n               PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x2210)" (( "(") (identifier "param_2") (, ",") (binary_expression "PTR_UINT_003a8950 + -0xe40" (identifier "PTR_UINT_003a8950") (+ "+") (number_literal "-0xe40")) (, ",") (binary_expression "PTR_UINT_003a8950 + -0xc70" (identifier "PTR_UINT_003a8950") (+ "+") (number_literal "-0xc70")) (, ",") (identifier "uVar20") (, ",") (number_literal "0x1a9") (, ",") (identifier "puVar17") (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x3e28" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x3e28")) (, ",") (binary_expression "param_1 + 0x2210" (identifier "param_1") (+ "+") (number_literal "0x2210")) () ")"))) (; ";")) (if_statement "if (iVar6 != 0) {\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n    }" ({ "{") (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(iVar6);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(iVar6)" (parenthesized_expression "(*(code *)PTR_CloseBlob_003a9688)" (( "(") (pointer_expression "*(code *)PTR_CloseBlob_003a9688" (* "*") (cast_expression "(code *)PTR_CloseBlob_003a9688" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_CloseBlob_003a9688"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_DestroyImageList_003a9510)(iVar6);" (call_expression "(*(code *)PTR_DestroyImageList_003a9510)(iVar6)" (parenthesized_expression "(*(code *)PTR_DestroyImageList_003a9510)" (( "(") (pointer_expression "*(code *)PTR_DestroyImageList_003a9510" (* "*") (cast_expression "(code *)PTR_DestroyImageList_003a9510" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DestroyImageList_003a9510"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" (identifier "uVar20") (= "=") (number_literal "0")) (; ";")) (expression_statement "dVar26 = in_f22_23;" (assignment_expression "dVar26 = in_f22_23" (identifier "dVar26") (= "=") (identifier "in_f22_23")) (; ";")) (} "}")))) (labeled_statement "LAB_00224c7c:\n  uVar2 = (ulonglong)lVar31 >> 0x20;" (statement_identifier "LAB_00224c7c") (: ":") (expression_statement "uVar2 = (ulonglong)lVar31 >> 0x20;" (assignment_expression "uVar2 = (ulonglong)lVar31 >> 0x20" (identifier "uVar2") (= "=") (binary_expression "(ulonglong)lVar31 >> 0x20" (cast_expression "(ulonglong)lVar31" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar31")) (>> ">>") (number_literal "0x20"))) (; ";"))) (if_statement "if (local_5c == *(int *)puVar4) {\n    return uVar20;\n  }" (if "if") (parenthesized_expression "(local_5c == *(int *)puVar4)" (( "(") (binary_expression "local_5c == *(int *)puVar4" (identifier "local_5c") (== "==") (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4")))) () ")")) (compound_statement "{\n    return uVar20;\n  }" ({ "{") (return_statement "return uVar20;" (return "return") (identifier "uVar20") (; ";")) (} "}"))) (expression_statement "uVar20 = (*(code *)PTR___stack_chk_fail_003a9064)();" (assignment_expression "uVar20 = (*(code *)PTR___stack_chk_fail_003a9064)()" (identifier "uVar20") (= "=") (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 "lVar31 = CONCAT44(uVar20,(int)lVar31);" (assignment_expression "lVar31 = CONCAT44(uVar20,(int)lVar31)" (identifier "lVar31") (= "=") (call_expression "CONCAT44(uVar20,(int)lVar31)" (identifier "CONCAT44") (argument_list "(uVar20,(int)lVar31)" (( "(") (identifier "uVar20") (, ",") (cast_expression "(int)lVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar31")) () ")")))) (; ";")) (expression_statement "uVar20 = (int)uVar2;" (assignment_expression "uVar20 = (int)uVar2" (identifier "uVar20") (= "=") (cast_expression "(int)uVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar2"))) (; ";")) (labeled_statement "LAB_002252f8:\n  uVar2 = (ulonglong)lVar31 >> 0x20;" (statement_identifier "LAB_002252f8") (: ":") (expression_statement "uVar2 = (ulonglong)lVar31 >> 0x20;" (assignment_expression "uVar2 = (ulonglong)lVar31 >> 0x20" (identifier "uVar2") (= "=") (binary_expression "(ulonglong)lVar31 >> 0x20" (cast_expression "(ulonglong)lVar31" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar31")) (>> ">>") (number_literal "0x20"))) (; ";"))) (expression_statement "lVar31 = CONCAT44(uVar20,(int)lVar31);" (assignment_expression "lVar31 = CONCAT44(uVar20,(int)lVar31)" (identifier "lVar31") (= "=") (call_expression "CONCAT44(uVar20,(int)lVar31)" (identifier "CONCAT44") (argument_list "(uVar20,(int)lVar31)" (( "(") (identifier "uVar20") (, ",") (cast_expression "(int)lVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar31")) () ")")))) (; ";")) (expression_statement "in_f22_23 = dVar26;" (assignment_expression "in_f22_23 = dVar26" (identifier "in_f22_23") (= "=") (identifier "dVar26")) (; ";")) (if_statement "if (((int)uVar2 == 0) && (bVar1 = 1 < local_1160._4_4_, bVar1)) goto LAB_00225060;" (if "if") (parenthesized_expression "(((int)uVar2 == 0) && (bVar1 = 1 < local_1160._4_4_, bVar1))" (( "(") (binary_expression "((int)uVar2 == 0) && (bVar1 = 1 < local_1160._4_4_, bVar1)" (parenthesized_expression "((int)uVar2 == 0)" (( "(") (binary_expression "(int)uVar2 == 0" (cast_expression "(int)uVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar2")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(bVar1 = 1 < local_1160._4_4_, bVar1)" (( "(") (comma_expression "bVar1 = 1 < local_1160._4_4_, bVar1" (assignment_expression "bVar1 = 1 < local_1160._4_4_" (identifier "bVar1") (= "=") (binary_expression "1 < local_1160._4_4_" (number_literal "1") (< "<") (field_expression "local_1160._4_4_" (identifier "local_1160") (. ".") (field_identifier "_4_4_")))) (, ",") (identifier "bVar1")) () ")"))) () ")")) (goto_statement "goto LAB_00225060;" (goto "goto") (statement_identifier "LAB_00225060") (; ";"))) (labeled_statement "LAB_0022511c:\n  (*(code *)PTR_SeekBlob_003a9328)(iVar6);" (statement_identifier "LAB_0022511c") (: ":") (expression_statement "(*(code *)PTR_SeekBlob_003a9328)(iVar6);" (call_expression "(*(code *)PTR_SeekBlob_003a9328)(iVar6)" (parenthesized_expression "(*(code *)PTR_SeekBlob_003a9328)" (( "(") (pointer_expression "*(code *)PTR_SeekBlob_003a9328" (* "*") (cast_expression "(code *)PTR_SeekBlob_003a9328" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_SeekBlob_003a9328"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))) (; ";"))) (expression_statement "dVar28 = local_10d8;" (assignment_expression "dVar28 = local_10d8" (identifier "dVar28") (= "=") (identifier "local_10d8")) (; ";")) (labeled_statement "LAB_002249f4:\n  local_10d8 = dVar28;" (statement_identifier "LAB_002249f4") (: ":") (expression_statement "local_10d8 = dVar28;" (assignment_expression "local_10d8 = dVar28" (identifier "local_10d8") (= "=") (identifier "dVar28")) (; ";"))) (expression_statement "dVar26 = dVar26 - in_f22_23;" (assignment_expression "dVar26 = dVar26 - in_f22_23" (identifier "dVar26") (= "=") (binary_expression "dVar26 - in_f22_23" (identifier "dVar26") (- "-") (identifier "in_f22_23"))) (; ";")) (do_statement "do {\n    iVar7 = (int)((ulonglong)lVar31 >> 0x20);\n    local_1140 = (uint)((ulonglong)dVar26 >> 0x20);\n    if (0.0 <= dVar26) {\n      dVar28 = *(double *)(local_1134 + 0x1438);\n    }\n    else {\n      local_1140 = local_1140 ^ 0x80000000;\n      dVar28 = local_1118;\n    }\n    if (in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar26,0))) {\n      dVar28 = *(double *)(local_1134 + 0x1438) / dVar26;\n    }\n    else {\n      dVar28 = dVar28 / in_f28_29;\n    }\n    uVar22 = *(int *)(iVar6 + 0x1c) - 1;\n    dVar28 = dVar28 * in_f30_31;\n    if (-1 < (int)uVar22) {\n      local_1160 = CONCAT44((int)uVar22 >> 0x1f,local_1160._4_4_);\n      uVar13 = uVar22;\n      while( true ) {\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2);\n        if (iVar10 == 0) break;\n        if (0 < *(int *)(iVar6 + 0x18)) {\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2);\n        if ((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))) break;\n        uVar22 = uVar22 - 1;\n        iVar7 = local_1160._0_4_ + -1;\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_);\n        uVar13 = uVar13 - 1;\n        if (uVar22 == 0xffffffff) break;\n      }\n    }\n    iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n    if (iVar7 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\nLAB_00224e4c:\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      if (local_114c == 0) {\nLAB_00224fc0:\n        uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      else {\nLAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      goto LAB_00224c7c;\n    }\n    if ((*(int *)(param_1 + 0x2c) != 0) &&\n       ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= *(uint *)(iVar6 + 0x26c)))\n    goto LAB_00224e4c;\n    if ((int)local_1154 < (int)(local_1138 + -1)) {\n      (*(code *)PTR_AcquireNextImage_003a8f90)(param_1,iVar6,param_2);\n      iVar7 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar6);\n      if (iVar7 != 0) {\n        iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6);\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32);\n        if (local_114c != 0) goto LAB_00224e34;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224fc0;\n    }\nLAB_00224e34:\n    local_1154 = local_1154 + 1;\n    if (local_1154 == local_1138) goto LAB_00224e4c;\nLAB_00224900:\n    iVar7 = *(int *)(param_1 + 0x1dc);\n    *(int *)(iVar6 + 0x18) = local_1148;\n    *(int *)(iVar6 + 0x1c) = local_1144;\n    *(int *)(iVar6 + 0x20) = local_1128;\n    *(undefined4 *)(iVar6 + 0x25c) = local_1124;\n    *(undefined **)(iVar6 + 0x26c) = local_1154;\n    if (((iVar7 != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n       ((undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1) <= local_1154))\n    goto LAB_00224e4c;\n    local_114c = (*(code *)PTR_SetImageExtent_003a94ac)(iVar6,local_1148,local_1144,param_2);\n    if (local_114c == 0) goto LAB_00224fc0;\n    (*(code *)PTR_SetImageColorspace_003a8d40)(iVar6,3,param_2);\n    in_f22_23 = local_10e0;\n    if ((local_10e0 != 0.0) || (local_10d8 != 0.0)) {\n      if (local_1158 != (undefined1 *)0x0) goto LAB_002249dc;\n      dVar26 = 0.0;\n      dVar28 = dVar26;\n      goto LAB_002249f4;\n    }\n    if (((uint)local_1158 & 0xffffffdf) != 0xffffffc0) break;\n    dVar26 = local_10d8;\n    lVar33 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n    if (lVar33 != -1) {\n      lVar31 = (ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)*(uint *)(iVar6 + 0x1c);\n      uVar22 = *(uint *)(iVar6 + 0x20) >> 3;\n      if (uVar22 == 2) {\n        sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n        dVar26 = (double)(int)sVar15;\n      }\n      else if (uVar22 == 4) {\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }\n      else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }\n      local_1160._0_4_ = (int)((ulonglong)lVar31 >> 0x20);\n      uVar20 = local_1160._0_4_;\n      local_1160 = lVar31;\n      local_10e0 = dVar26;\n      local_10d8 = dVar26;\n      if (0xffffffff < lVar31) goto LAB_00225060;\n      goto LAB_002252f8;\n    }\n    dVar26 = dVar26 - in_f22_23;\n  } while( true );" (do "do") (compound_statement "{\n    iVar7 = (int)((ulonglong)lVar31 >> 0x20);\n    local_1140 = (uint)((ulonglong)dVar26 >> 0x20);\n    if (0.0 <= dVar26) {\n      dVar28 = *(double *)(local_1134 + 0x1438);\n    }\n    else {\n      local_1140 = local_1140 ^ 0x80000000;\n      dVar28 = local_1118;\n    }\n    if (in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar26,0))) {\n      dVar28 = *(double *)(local_1134 + 0x1438) / dVar26;\n    }\n    else {\n      dVar28 = dVar28 / in_f28_29;\n    }\n    uVar22 = *(int *)(iVar6 + 0x1c) - 1;\n    dVar28 = dVar28 * in_f30_31;\n    if (-1 < (int)uVar22) {\n      local_1160 = CONCAT44((int)uVar22 >> 0x1f,local_1160._4_4_);\n      uVar13 = uVar22;\n      while( true ) {\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2);\n        if (iVar10 == 0) break;\n        if (0 < *(int *)(iVar6 + 0x18)) {\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2);\n        if ((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))) break;\n        uVar22 = uVar22 - 1;\n        iVar7 = local_1160._0_4_ + -1;\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_);\n        uVar13 = uVar13 - 1;\n        if (uVar22 == 0xffffffff) break;\n      }\n    }\n    iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);\n    if (iVar7 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\nLAB_00224e4c:\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      if (local_114c == 0) {\nLAB_00224fc0:\n        uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      else {\nLAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      goto LAB_00224c7c;\n    }\n    if ((*(int *)(param_1 + 0x2c) != 0) &&\n       ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= *(uint *)(iVar6 + 0x26c)))\n    goto LAB_00224e4c;\n    if ((int)local_1154 < (int)(local_1138 + -1)) {\n      (*(code *)PTR_AcquireNextImage_003a8f90)(param_1,iVar6,param_2);\n      iVar7 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar6);\n      if (iVar7 != 0) {\n        iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6);\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32);\n        if (local_114c != 0) goto LAB_00224e34;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224fc0;\n    }\nLAB_00224e34:\n    local_1154 = local_1154 + 1;\n    if (local_1154 == local_1138) goto LAB_00224e4c;\nLAB_00224900:\n    iVar7 = *(int *)(param_1 + 0x1dc);\n    *(int *)(iVar6 + 0x18) = local_1148;\n    *(int *)(iVar6 + 0x1c) = local_1144;\n    *(int *)(iVar6 + 0x20) = local_1128;\n    *(undefined4 *)(iVar6 + 0x25c) = local_1124;\n    *(undefined **)(iVar6 + 0x26c) = local_1154;\n    if (((iVar7 != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n       ((undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1) <= local_1154))\n    goto LAB_00224e4c;\n    local_114c = (*(code *)PTR_SetImageExtent_003a94ac)(iVar6,local_1148,local_1144,param_2);\n    if (local_114c == 0) goto LAB_00224fc0;\n    (*(code *)PTR_SetImageColorspace_003a8d40)(iVar6,3,param_2);\n    in_f22_23 = local_10e0;\n    if ((local_10e0 != 0.0) || (local_10d8 != 0.0)) {\n      if (local_1158 != (undefined1 *)0x0) goto LAB_002249dc;\n      dVar26 = 0.0;\n      dVar28 = dVar26;\n      goto LAB_002249f4;\n    }\n    if (((uint)local_1158 & 0xffffffdf) != 0xffffffc0) break;\n    dVar26 = local_10d8;\n    lVar33 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n    if (lVar33 != -1) {\n      lVar31 = (ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)*(uint *)(iVar6 + 0x1c);\n      uVar22 = *(uint *)(iVar6 + 0x20) >> 3;\n      if (uVar22 == 2) {\n        sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n        dVar26 = (double)(int)sVar15;\n      }\n      else if (uVar22 == 4) {\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }\n      else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }\n      local_1160._0_4_ = (int)((ulonglong)lVar31 >> 0x20);\n      uVar20 = local_1160._0_4_;\n      local_1160 = lVar31;\n      local_10e0 = dVar26;\n      local_10d8 = dVar26;\n      if (0xffffffff < lVar31) goto LAB_00225060;\n      goto LAB_002252f8;\n    }\n    dVar26 = dVar26 - in_f22_23;\n  }" ({ "{") (expression_statement "iVar7 = (int)((ulonglong)lVar31 >> 0x20);" (assignment_expression "iVar7 = (int)((ulonglong)lVar31 >> 0x20)" (identifier "iVar7") (= "=") (cast_expression "(int)((ulonglong)lVar31 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)lVar31 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar31 >> 0x20" (cast_expression "(ulonglong)lVar31" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar31")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "local_1140 = (uint)((ulonglong)dVar26 >> 0x20);" (assignment_expression "local_1140 = (uint)((ulonglong)dVar26 >> 0x20)" (identifier "local_1140") (= "=") (call_expression "(uint)((ulonglong)dVar26 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)dVar26 >> 0x20)" (( "(") (binary_expression "(ulonglong)dVar26 >> 0x20" (cast_expression "(ulonglong)dVar26" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "dVar26")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (if_statement "if (0.0 <= dVar26) {\n      dVar28 = *(double *)(local_1134 + 0x1438);\n    }\n    else {\n      local_1140 = local_1140 ^ 0x80000000;\n      dVar28 = local_1118;\n    }" (if "if") (parenthesized_expression "(0.0 <= dVar26)" (( "(") (binary_expression "0.0 <= dVar26" (number_literal "0.0") (<= "<=") (identifier "dVar26")) () ")")) (compound_statement "{\n      dVar28 = *(double *)(local_1134 + 0x1438);\n    }" ({ "{") (expression_statement "dVar28 = *(double *)(local_1134 + 0x1438);" (assignment_expression "dVar28 = *(double *)(local_1134 + 0x1438)" (identifier "dVar28") (= "=") (pointer_expression "*(double *)(local_1134 + 0x1438)" (* "*") (cast_expression "(double *)(local_1134 + 0x1438)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_1134 + 0x1438)" (( "(") (binary_expression "local_1134 + 0x1438" (identifier "local_1134") (+ "+") (number_literal "0x1438")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      local_1140 = local_1140 ^ 0x80000000;\n      dVar28 = local_1118;\n    }" (else "else") (compound_statement "{\n      local_1140 = local_1140 ^ 0x80000000;\n      dVar28 = local_1118;\n    }" ({ "{") (expression_statement "local_1140 = local_1140 ^ 0x80000000;" (assignment_expression "local_1140 = local_1140 ^ 0x80000000" (identifier "local_1140") (= "=") (binary_expression "local_1140 ^ 0x80000000" (identifier "local_1140") (^ "^") (number_literal "0x80000000"))) (; ";")) (expression_statement "dVar28 = local_1118;" (assignment_expression "dVar28 = local_1118" (identifier "dVar28") (= "=") (identifier "local_1118")) (; ";")) (} "}")))) (if_statement "if (in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar26,0))) {\n      dVar28 = *(double *)(local_1134 + 0x1438) / dVar26;\n    }\n    else {\n      dVar28 = dVar28 / in_f28_29;\n    }" (if "if") (parenthesized_expression "(in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar26,0)))" (( "(") (binary_expression "in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar26,0))" (identifier "in_f28_29") (<= "<=") (cast_expression "(double)CONCAT44(local_1140,SUB84(dVar26,0))" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "CONCAT44(local_1140,SUB84(dVar26,0))" (identifier "CONCAT44") (argument_list "(local_1140,SUB84(dVar26,0))" (( "(") (identifier "local_1140") (, ",") (call_expression "SUB84(dVar26,0)" (identifier "SUB84") (argument_list "(dVar26,0)" (( "(") (identifier "dVar26") (, ",") (number_literal "0") () ")"))) () ")"))))) () ")")) (compound_statement "{\n      dVar28 = *(double *)(local_1134 + 0x1438) / dVar26;\n    }" ({ "{") (expression_statement "dVar28 = *(double *)(local_1134 + 0x1438) / dVar26;" (assignment_expression "dVar28 = *(double *)(local_1134 + 0x1438) / dVar26" (identifier "dVar28") (= "=") (binary_expression "*(double *)(local_1134 + 0x1438) / dVar26" (pointer_expression "*(double *)(local_1134 + 0x1438)" (* "*") (cast_expression "(double *)(local_1134 + 0x1438)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_1134 + 0x1438)" (( "(") (binary_expression "local_1134 + 0x1438" (identifier "local_1134") (+ "+") (number_literal "0x1438")) () ")")))) (/ "/") (identifier "dVar26"))) (; ";")) (} "}")) (else_clause "else {\n      dVar28 = dVar28 / in_f28_29;\n    }" (else "else") (compound_statement "{\n      dVar28 = dVar28 / in_f28_29;\n    }" ({ "{") (expression_statement "dVar28 = dVar28 / in_f28_29;" (assignment_expression "dVar28 = dVar28 / in_f28_29" (identifier "dVar28") (= "=") (binary_expression "dVar28 / in_f28_29" (identifier "dVar28") (/ "/") (identifier "in_f28_29"))) (; ";")) (} "}")))) (expression_statement "uVar22 = *(int *)(iVar6 + 0x1c) - 1;" (assignment_expression "uVar22 = *(int *)(iVar6 + 0x1c) - 1" (identifier "uVar22") (= "=") (binary_expression "*(int *)(iVar6 + 0x1c) - 1" (pointer_expression "*(int *)(iVar6 + 0x1c)" (* "*") (cast_expression "(int *)(iVar6 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x1c)" (( "(") (binary_expression "iVar6 + 0x1c" (identifier "iVar6") (+ "+") (number_literal "0x1c")) () ")")))) (- "-") (number_literal "1"))) (; ";")) (expression_statement "dVar28 = dVar28 * in_f30_31;" (assignment_expression "dVar28 = dVar28 * in_f30_31" (identifier "dVar28") (= "=") (binary_expression "dVar28 * in_f30_31" (identifier "dVar28") (* "*") (identifier "in_f30_31"))) (; ";")) (if_statement "if (-1 < (int)uVar22) {\n      local_1160 = CONCAT44((int)uVar22 >> 0x1f,local_1160._4_4_);\n      uVar13 = uVar22;\n      while( true ) {\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2);\n        if (iVar10 == 0) break;\n        if (0 < *(int *)(iVar6 + 0x18)) {\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2);\n        if ((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))) break;\n        uVar22 = uVar22 - 1;\n        iVar7 = local_1160._0_4_ + -1;\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_);\n        uVar13 = uVar13 - 1;\n        if (uVar22 == 0xffffffff) break;\n      }\n    }" (if "if") (parenthesized_expression "(-1 < (int)uVar22)" (( "(") (binary_expression "-1 < (int)uVar22" (number_literal "-1") (< "<") (cast_expression "(int)uVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar22"))) () ")")) (compound_statement "{\n      local_1160 = CONCAT44((int)uVar22 >> 0x1f,local_1160._4_4_);\n      uVar13 = uVar22;\n      while( true ) {\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2);\n        if (iVar10 == 0) break;\n        if (0 < *(int *)(iVar6 + 0x18)) {\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2);\n        if ((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))) break;\n        uVar22 = uVar22 - 1;\n        iVar7 = local_1160._0_4_ + -1;\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_);\n        uVar13 = uVar13 - 1;\n        if (uVar22 == 0xffffffff) break;\n      }\n    }" ({ "{") (expression_statement "local_1160 = CONCAT44((int)uVar22 >> 0x1f,local_1160._4_4_);" (assignment_expression "local_1160 = CONCAT44((int)uVar22 >> 0x1f,local_1160._4_4_)" (identifier "local_1160") (= "=") (call_expression "CONCAT44((int)uVar22 >> 0x1f,local_1160._4_4_)" (identifier "CONCAT44") (argument_list "((int)uVar22 >> 0x1f,local_1160._4_4_)" (( "(") (binary_expression "(int)uVar22 >> 0x1f" (cast_expression "(int)uVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar22")) (>> ">>") (number_literal "0x1f")) (, ",") (field_expression "local_1160._4_4_" (identifier "local_1160") (. ".") (field_identifier "_4_4_")) () ")")))) (; ";")) (expression_statement "uVar13 = uVar22;" (assignment_expression "uVar13 = uVar22" (identifier "uVar13") (= "=") (identifier "uVar22")) (; ";")) (while_statement "while( true ) {\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2);\n        if (iVar10 == 0) break;\n        if (0 < *(int *)(iVar6 + 0x18)) {\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2);\n        if ((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))) break;\n        uVar22 = uVar22 - 1;\n        iVar7 = local_1160._0_4_ + -1;\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_);\n        uVar13 = uVar13 - 1;\n        if (uVar22 == 0xffffffff) break;\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2);\n        if (iVar10 == 0) break;\n        if (0 < *(int *)(iVar6 + 0x18)) {\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2);\n        if ((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))) break;\n        uVar22 = uVar22 - 1;\n        iVar7 = local_1160._0_4_ + -1;\n        lVar31 = CONCAT44(iVar7,&local_1108);\n        local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_);\n        uVar13 = uVar13 - 1;\n        if (uVar22 == 0xffffffff) break;\n      }" ({ "{") (expression_statement "lVar31 = CONCAT44(iVar7,&local_1108);" (assignment_expression "lVar31 = CONCAT44(iVar7,&local_1108)" (identifier "lVar31") (= "=") (call_expression "CONCAT44(iVar7,&local_1108)" (identifier "CONCAT44") (argument_list "(iVar7,&local_1108)" (( "(") (identifier "iVar7") (, ",") (pointer_expression "&local_1108" (& "&") (identifier "local_1108")) () ")")))) (; ";")) (expression_statement "iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2);" (assignment_expression "iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2)" (identifier "iVar10") (= "=") (call_expression "(*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2)" (parenthesized_expression "(*(code *)PTR_QueueAuthenticPixels_003a8f24)" (( "(") (pointer_expression "*(code *)PTR_QueueAuthenticPixels_003a8f24" (* "*") (cast_expression "(code *)PTR_QueueAuthenticPixels_003a8f24" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_QueueAuthenticPixels_003a8f24"))) () ")")) (argument_list "(iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2)" (( "(") (identifier "iVar6") (, ",") (number_literal "0") (, ",") (identifier "uVar22") (, ",") (pointer_expression "*(undefined4 *)(iVar6 + 0x18)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x18)" (( "(") (binary_expression "iVar6 + 0x18" (identifier "iVar6") (+ "+") (number_literal "0x18")) () ")")))) (, ",") (number_literal "1") (, ",") (identifier "param_2") () ")")))) (; ";")) (if_statement "if (iVar10 == 0) break;" (if "if") (parenthesized_expression "(iVar10 == 0)" (( "(") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (0 < *(int *)(iVar6 + 0x18)) {\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }" (if "if") (parenthesized_expression "(0 < *(int *)(iVar6 + 0x18))" (( "(") (binary_expression "0 < *(int *)(iVar6 + 0x18)" (number_literal "0") (< "<") (pointer_expression "*(int *)(iVar6 + 0x18)" (* "*") (cast_expression "(int *)(iVar6 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x18)" (( "(") (binary_expression "iVar6 + 0x18" (identifier "iVar6") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n          iVar7 = 0;\n          uVar11 = *(uint *)(iVar6 + 0x20);\n          dVar26 = local_10d0;\n          dVar29 = local_10c8;\n          do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);\n        }" ({ "{") (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar11 = *(uint *)(iVar6 + 0x20);" (assignment_expression "uVar11 = *(uint *)(iVar6 + 0x20)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(iVar6 + 0x20)" (* "*") (cast_expression "(uint *)(iVar6 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x20)" (( "(") (binary_expression "iVar6 + 0x20" (identifier "iVar6") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "dVar26 = local_10d0;" (assignment_expression "dVar26 = local_10d0" (identifier "dVar26") (= "=") (identifier "local_10d0")) (; ";")) (expression_statement "dVar29 = local_10c8;" (assignment_expression "dVar29 = local_10c8" (identifier "dVar29") (= "=") (identifier "local_10c8")) (; ";")) (do_statement "do {\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          } while (iVar7 < iVar12);" (do "do") (compound_statement "{\n            uVar11 = uVar11 >> 3;\n            if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }\n            iVar7 = iVar7 + 1;\n            iVar12 = *(int *)(iVar6 + 0x18);\n            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);\n            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;\n            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);\n          }" ({ "{") (expression_statement "uVar11 = uVar11 >> 3;" (assignment_expression "uVar11 = uVar11 >> 3" (identifier "uVar11") (= "=") (binary_expression "uVar11 >> 3" (identifier "uVar11") (>> ">>") (number_literal "3"))) (; ";")) (if_statement "if (uVar11 == 2) {\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }\n            else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }" (if "if") (parenthesized_expression "(uVar11 == 2)" (( "(") (binary_expression "uVar11 == 2" (identifier "uVar11") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n              local_1108 = (double)(int)sVar15;\nLAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              if (uVar11 == 0x10) goto LAB_00224b8c;\nLAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;\n            }" ({ "{") (expression_statement "sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);" (assignment_expression "sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6)" (identifier "sVar15") (= "=") (call_expression "(*(code *)PTR_ReadBlobShort_003a8d80)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobShort_003a8d80)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobShort_003a8d80" (* "*") (cast_expression "(code *)PTR_ReadBlobShort_003a8d80" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobShort_003a8d80"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";")) (expression_statement "local_1108 = (double)(int)sVar15;" (assignment_expression "local_1108 = (double)(int)sVar15" (identifier "local_1108") (= "=") (cast_expression "(double)(int)sVar15" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(int)sVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "sVar15")))) (; ";")) (labeled_statement "LAB_00224ae8:\n              uVar11 = *(uint *)(iVar6 + 0x20);" (statement_identifier "LAB_00224ae8") (: ":") (expression_statement "uVar11 = *(uint *)(iVar6 + 0x20);" (assignment_expression "uVar11 = *(uint *)(iVar6 + 0x20)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(iVar6 + 0x20)" (* "*") (cast_expression "(uint *)(iVar6 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x20)" (( "(") (binary_expression "iVar6 + 0x20" (identifier "iVar6") (+ "+") (number_literal "0x20")) () ")"))))) (; ";"))) (if_statement "if (uVar11 == 0x10) goto LAB_00224b8c;" (if "if") (parenthesized_expression "(uVar11 == 0x10)" (( "(") (binary_expression "uVar11 == 0x10" (identifier "uVar11") (== "==") (number_literal "0x10")) () ")")) (goto_statement "goto LAB_00224b8c;" (goto "goto") (statement_identifier "LAB_00224b8c") (; ";"))) (labeled_statement "LAB_00224af8:\n              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;" (statement_identifier "LAB_00224af8") (: ":") (if_statement "if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;" (if "if") (parenthesized_expression "((uVar11 == 0x20) || (uVar11 == 0x40))" (( "(") (binary_expression "(uVar11 == 0x20) || (uVar11 == 0x40)" (parenthesized_expression "(uVar11 == 0x20)" (( "(") (binary_expression "uVar11 == 0x20" (identifier "uVar11") (== "==") (number_literal "0x20")) () ")")) (|| "||") (parenthesized_expression "(uVar11 == 0x40)" (( "(") (binary_expression "uVar11 == 0x40" (identifier "uVar11") (== "==") (number_literal "0x40")) () ")"))) () ")")) (goto_statement "goto LAB_00224b8c;" (goto "goto") (statement_identifier "LAB_00224b8c") (; ";")))) (} "}")) (else_clause "else {\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }" (else "else") (compound_statement "{\n              if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }\n              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;\n              if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }\nLAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);\n              uVar11 = *(uint *)(iVar6 + 0x20);\n              local_1108 = (double)iVar12;\n              if (uVar11 != 0x10) goto LAB_00224af8;\nLAB_00224b8c:\n              pdVar19 = &local_1108;\n              if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }\n              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;\n            }" ({ "{") (if_statement "if (2 < uVar11) {\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }" (if "if") (parenthesized_expression "(2 < uVar11)" (( "(") (binary_expression "2 < uVar11" (number_literal "2") (< "<") (identifier "uVar11")) () ")")) (compound_statement "{\n                if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }\n                goto LAB_00224ae8;\n              }" ({ "{") (if_statement "if (uVar11 == 4) {\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }\n                else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }" (if "if") (parenthesized_expression "(uVar11 == 4)" (( "(") (binary_expression "uVar11 == 4" (identifier "uVar11") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;\n                  if (0 < (int)local_1158) goto LAB_00224b68;\n                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n                  local_1108 = (double)fVar27;\n                }" ({ "{") (expression_statement "pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;" (assignment_expression "pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c" (identifier "pcVar25") (= "=") (cast_expression "(code *)PTR_ReadBlobSignedLong_003a968c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobSignedLong_003a968c"))) (; ";")) (if_statement "if (0 < (int)local_1158) goto LAB_00224b68;" (if "if") (parenthesized_expression "(0 < (int)local_1158)" (( "(") (binary_expression "0 < (int)local_1158" (number_literal "0") (< "<") (cast_expression "(int)local_1158" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1158"))) () ")")) (goto_statement "goto LAB_00224b68;" (goto "goto") (statement_identifier "LAB_00224b68") (; ";"))) (expression_statement "fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);" (assignment_expression "fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6)" (identifier "fVar27") (= "=") (cast_expression "(float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (call_expression "(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobFloat_003a8e98)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobFloat_003a8e98" (* "*") (cast_expression "(code *)PTR_ReadBlobFloat_003a8e98" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobFloat_003a8e98"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))))) (; ";")) (expression_statement "local_1108 = (double)fVar27;" (assignment_expression "local_1108 = (double)fVar27" (identifier "local_1108") (= "=") (cast_expression "(double)fVar27" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar27"))) (; ";")) (} "}")) (else_clause "else {\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }" (else "else") (compound_statement "{\n                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;\n                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);\n                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);\n                }" ({ "{") (if_statement "if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;" (if "if") (parenthesized_expression "((uVar11 != 8) || ((int)local_1158 < 1))" (( "(") (binary_expression "(uVar11 != 8) || ((int)local_1158 < 1)" (parenthesized_expression "(uVar11 != 8)" (( "(") (binary_expression "uVar11 != 8" (identifier "uVar11") (!= "!=") (number_literal "8")) () ")")) (|| "||") (parenthesized_expression "((int)local_1158 < 1)" (( "(") (binary_expression "(int)local_1158 < 1" (cast_expression "(int)local_1158" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1158")) (< "<") (number_literal "1")) () ")"))) () ")")) (goto_statement "goto LAB_00224ad8;" (goto "goto") (statement_identifier "LAB_00224ad8") (; ";"))) (expression_statement "uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);" (assignment_expression "uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6)" (identifier "uVar30") (= "=") (call_expression "(*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobLongLong_003a97a0)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobLongLong_003a97a0" (* "*") (cast_expression "(code *)PTR_ReadBlobLongLong_003a97a0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobLongLong_003a97a0"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";")) (expression_statement "local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);" (assignment_expression "local_1108 = (double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30)" (identifier "local_1108") (= "=") (cast_expression "(double)(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(*(code *)PTR_FUN_003a8a60)\n                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30)" (parenthesized_expression "(*(code *)PTR_FUN_003a8a60)" (( "(") (pointer_expression "*(code *)PTR_FUN_003a8a60" (* "*") (cast_expression "(code *)PTR_FUN_003a8a60" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_003a8a60"))) () ")")) (argument_list "((int)((ulonglong)uVar30 >> 0x20),(int)uVar30)" (( "(") (cast_expression "(int)((ulonglong)uVar30 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar30 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar30 >> 0x20" (cast_expression "(ulonglong)uVar30" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar30")) (>> ">>") (number_literal "0x20")) () ")"))) (, ",") (cast_expression "(int)uVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar30")) () ")"))))) (; ";")) (} "}")))) (goto_statement "goto LAB_00224ae8;" (goto "goto") (statement_identifier "LAB_00224ae8") (; ";")) (} "}"))) (expression_statement "pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;" (assignment_expression "pcVar25 = (code *)PTR_ReadBlobByte_003a97f0" (identifier "pcVar25") (= "=") (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobByte_003a97f0"))) (; ";")) (if_statement "if (uVar11 != 1) {\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }" (if "if") (parenthesized_expression "(uVar11 != 1)" (( "(") (binary_expression "uVar11 != 1" (identifier "uVar11") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\nLAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n                goto LAB_00224ae8;\n              }" ({ "{") (labeled_statement "LAB_00224ad8:\n                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);" (statement_identifier "LAB_00224ad8") (: ":") (expression_statement "local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);" (assignment_expression "local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6)" (identifier "local_1108") (= "=") (cast_expression "(double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobDouble_003a8c38)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobDouble_003a8c38" (* "*") (cast_expression "(code *)PTR_ReadBlobDouble_003a8c38" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobDouble_003a8c38"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))))) (; ";"))) (goto_statement "goto LAB_00224ae8;" (goto "goto") (statement_identifier "LAB_00224ae8") (; ";")) (} "}"))) (labeled_statement "LAB_00224b68:\n              iVar12 = (*pcVar25)(iVar6);" (statement_identifier "LAB_00224b68") (: ":") (expression_statement "iVar12 = (*pcVar25)(iVar6);" (assignment_expression "iVar12 = (*pcVar25)(iVar6)" (identifier "iVar12") (= "=") (call_expression "(*pcVar25)(iVar6)" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";"))) (expression_statement "uVar11 = *(uint *)(iVar6 + 0x20);" (assignment_expression "uVar11 = *(uint *)(iVar6 + 0x20)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(iVar6 + 0x20)" (* "*") (cast_expression "(uint *)(iVar6 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x20)" (( "(") (binary_expression "iVar6 + 0x20" (identifier "iVar6") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "local_1108 = (double)iVar12;" (assignment_expression "local_1108 = (double)iVar12" (identifier "local_1108") (= "=") (cast_expression "(double)iVar12" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "iVar12"))) (; ";")) (if_statement "if (uVar11 != 0x10) goto LAB_00224af8;" (if "if") (parenthesized_expression "(uVar11 != 0x10)" (( "(") (binary_expression "uVar11 != 0x10" (identifier "uVar11") (!= "!=") (number_literal "0x10")) () ")")) (goto_statement "goto LAB_00224af8;" (goto "goto") (statement_identifier "LAB_00224af8") (; ";"))) (labeled_statement "LAB_00224b8c:\n              pdVar19 = &local_1108;" (statement_identifier "LAB_00224b8c") (: ":") (expression_statement "pdVar19 = &local_1108;" (assignment_expression "pdVar19 = &local_1108" (identifier "pdVar19") (= "=") (pointer_expression "&local_1108" (& "&") (identifier "local_1108"))) (; ";"))) (if_statement "if (*(int *)(iVar6 + 0x25c) != 2) {\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }" (if "if") (parenthesized_expression "(*(int *)(iVar6 + 0x25c) != 2)" (( "(") (binary_expression "*(int *)(iVar6 + 0x25c) != 2" (pointer_expression "*(int *)(iVar6 + 0x25c)" (* "*") (cast_expression "(int *)(iVar6 + 0x25c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x25c)" (( "(") (binary_expression "iVar6 + 0x25c" (identifier "iVar6") (+ "+") (number_literal "0x25c")) () ")")))) (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));\n              }" ({ "{") (expression_statement "pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));" (assignment_expression "pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1))" (identifier "pdVar19") (= "=") (cast_expression "(double *)((int)&local_1108 + ((uVar11 >> 3) - 1))" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&local_1108 + ((uVar11 >> 3) - 1))" (( "(") (binary_expression "(int)&local_1108 + ((uVar11 >> 3) - 1)" (cast_expression "(int)&local_1108" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&local_1108" (& "&") (identifier "local_1108"))) (+ "+") (parenthesized_expression "((uVar11 >> 3) - 1)" (( "(") (binary_expression "(uVar11 >> 3) - 1" (parenthesized_expression "(uVar11 >> 3)" (( "(") (binary_expression "uVar11 >> 3" (identifier "uVar11") (>> ">>") (number_literal "3")) () ")")) (- "-") (number_literal "1")) () ")"))) () ")")))) (; ";")) (} "}"))) (expression_statement "*(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;" (assignment_expression "*(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80" (pointer_expression "*(byte *)pdVar19" (* "*") (cast_expression "(byte *)pdVar19" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pdVar19"))) (= "=") (binary_expression "*(byte *)pdVar19 ^ 0x80" (pointer_expression "*(byte *)pdVar19" (* "*") (cast_expression "(byte *)pdVar19" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pdVar19"))) (^ "^") (number_literal "0x80"))) (; ";")) (} "}")))) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar12 = *(int *)(iVar6 + 0x18);" (assignment_expression "iVar12 = *(int *)(iVar6 + 0x18)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(iVar6 + 0x18)" (* "*") (cast_expression "(int *)(iVar6 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x18)" (( "(") (binary_expression "iVar6 + 0x18" (identifier "iVar6") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);" (assignment_expression "pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4)" (identifier "pfVar18") (= "=") (cast_expression "(float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4)" (( "(") (binary_expression "iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4" (identifier "iVar10") (+ "+") (binary_expression "*(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4" (pointer_expression "*(int *)(*(int *)(iVar6 + 0x2d0) + 8)" (* "*") (cast_expression "(int *)(*(int *)(iVar6 + 0x2d0) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar6 + 0x2d0) + 8)" (( "(") (binary_expression "*(int *)(iVar6 + 0x2d0) + 8" (pointer_expression "*(int *)(iVar6 + 0x2d0)" (* "*") (cast_expression "(int *)(iVar6 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x2d0)" (( "(") (binary_expression "iVar6 + 0x2d0" (identifier "iVar6") (+ "+") (number_literal "0x2d0")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;" (assignment_expression "iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4" (identifier "iVar10") (= "=") (binary_expression "iVar10 + *(int *)(iVar6 + 0x2c0) * 4" (identifier "iVar10") (+ "+") (binary_expression "*(int *)(iVar6 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar6 + 0x2c0)" (* "*") (cast_expression "(int *)(iVar6 + 0x2c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x2c0)" (( "(") (binary_expression "iVar6 + 0x2c0" (identifier "iVar6") (+ "+") (number_literal "0x2c0")) () ")")))) (* "*") (number_literal "4")))) (; ";")) (expression_statement "*pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);" (assignment_expression "*pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28)" (pointer_expression "*pfVar18" (* "*") (identifier "pfVar18")) (= "=") (cast_expression "(float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28)" (( "(") (binary_expression "((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28" (parenthesized_expression "((local_1108 - in_f22_23) * dVar29 + dVar26)" (( "(") (binary_expression "(local_1108 - in_f22_23) * dVar29 + dVar26" (binary_expression "(local_1108 - in_f22_23) * dVar29" (parenthesized_expression "(local_1108 - in_f22_23)" (( "(") (binary_expression "local_1108 - in_f22_23" (identifier "local_1108") (- "-") (identifier "in_f22_23")) () ")")) (* "*") (identifier "dVar29")) (+ "+") (identifier "dVar26")) () ")")) (* "*") (identifier "dVar28")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar7 < iVar12)" (( "(") (binary_expression "iVar7 < iVar12" (identifier "iVar7") (< "<") (identifier "iVar12")) () ")")) (; ";")) (} "}"))) (expression_statement "lVar31 = CONCAT44(iVar7,&local_1108);" (assignment_expression "lVar31 = CONCAT44(iVar7,&local_1108)" (identifier "lVar31") (= "=") (call_expression "CONCAT44(iVar7,&local_1108)" (identifier "CONCAT44") (argument_list "(iVar7,&local_1108)" (( "(") (identifier "iVar7") (, ",") (pointer_expression "&local_1108" (& "&") (identifier "local_1108")) () ")")))) (; ";")) (expression_statement "iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2);" (assignment_expression "iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2)" (identifier "iVar10") (= "=") (call_expression "(*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2)" (parenthesized_expression "(*(code *)PTR_SyncAuthenticPixels_003a91e4)" (( "(") (pointer_expression "*(code *)PTR_SyncAuthenticPixels_003a91e4" (* "*") (cast_expression "(code *)PTR_SyncAuthenticPixels_003a91e4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_SyncAuthenticPixels_003a91e4"))) () ")")) (argument_list "(iVar6,param_2)" (( "(") (identifier "iVar6") (, ",") (identifier "param_2") () ")")))) (; ";")) (if_statement "if ((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))) break;" (if "if") (parenthesized_expression "((iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0))))" (( "(") (binary_expression "(iVar10 == 0) ||\n           ((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))" (parenthesized_expression "(iVar10 == 0)" (( "(") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))" (( "(") (parenthesized_expression "(*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0))" (( "(") (binary_expression "*(int *)(iVar6 + 0x3364) == 0 &&\n            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)" (binary_expression "*(int *)(iVar6 + 0x3364) == 0" (pointer_expression "*(int *)(iVar6 + 0x3364)" (* "*") (cast_expression "(int *)(iVar6 + 0x3364)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x3364)" (( "(") (binary_expression "iVar6 + 0x3364" (identifier "iVar6") (+ "+") (number_literal "0x3364")) () ")")))) (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "(local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)" (( "(") (comma_expression "local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c)),\n            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0" (assignment_expression "local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c))" (identifier "local_114c") (= "=") (call_expression "(*(code *)PTR_SetImageProgress_003a8cb4)\n                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c))" (parenthesized_expression "(*(code *)PTR_SetImageProgress_003a8cb4)" (( "(") (pointer_expression "*(code *)PTR_SetImageProgress_003a8cb4" (* "*") (cast_expression "(code *)PTR_SetImageProgress_003a8cb4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_SetImageProgress_003a8cb4"))) () ")")) (argument_list "(iVar6,local_112c,local_1160._0_4_,uVar13,0,\n                                     *(undefined4 *)(iVar6 + 0x1c))" (( "(") (identifier "iVar6") (, ",") (identifier "local_112c") (, ",") (field_expression "local_1160._0_4_" (identifier "local_1160") (. ".") (field_identifier "_0_4_")) (, ",") (identifier "uVar13") (, ",") (number_literal "0") (, ",") (pointer_expression "*(undefined4 *)(iVar6 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x1c)" (( "(") (binary_expression "iVar6 + 0x1c" (identifier "iVar6") (+ "+") (number_literal "0x1c")) () ")")))) () ")")))) (, ",") (comma_expression "lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0" (assignment_expression "lVar31 = CONCAT44(iVar7,&local_1108)" (identifier "lVar31") (= "=") (call_expression "CONCAT44(iVar7,&local_1108)" (identifier "CONCAT44") (argument_list "(iVar7,&local_1108)" (( "(") (identifier "iVar7") (, ",") (pointer_expression "&local_1108" (& "&") (identifier "local_1108")) () ")")))) (, ",") (binary_expression "local_114c == 0" (identifier "local_114c") (== "==") (number_literal "0")))) () ")"))) () ")")) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar22 = uVar22 - 1;" (assignment_expression "uVar22 = uVar22 - 1" (identifier "uVar22") (= "=") (binary_expression "uVar22 - 1" (identifier "uVar22") (- "-") (number_literal "1"))) (; ";")) (expression_statement "iVar7 = local_1160._0_4_ + -1;" (assignment_expression "iVar7 = local_1160._0_4_ + -1" (identifier "iVar7") (= "=") (binary_expression "local_1160._0_4_ + -1" (field_expression "local_1160._0_4_" (identifier "local_1160") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "lVar31 = CONCAT44(iVar7,&local_1108);" (assignment_expression "lVar31 = CONCAT44(iVar7,&local_1108)" (identifier "lVar31") (= "=") (call_expression "CONCAT44(iVar7,&local_1108)" (identifier "CONCAT44") (argument_list "(iVar7,&local_1108)" (( "(") (identifier "iVar7") (, ",") (pointer_expression "&local_1108" (& "&") (identifier "local_1108")) () ")")))) (; ";")) (expression_statement "local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_);" (assignment_expression "local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_)" (identifier "local_1160") (= "=") (call_expression "CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_)" (identifier "CONCAT44") (argument_list "((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_)" (( "(") (binary_expression "(uint)(uVar13 - 1 < uVar13) + iVar7" (call_expression "(uint)(uVar13 - 1 < uVar13)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar13 - 1 < uVar13)" (( "(") (binary_expression "uVar13 - 1 < uVar13" (binary_expression "uVar13 - 1" (identifier "uVar13") (- "-") (number_literal "1")) (< "<") (identifier "uVar13")) () ")"))) (+ "+") (identifier "iVar7")) (, ",") (field_expression "local_1160._4_4_" (identifier "local_1160") (. ".") (field_identifier "_4_4_")) () ")")))) (; ";")) (expression_statement "uVar13 = uVar13 - 1;" (assignment_expression "uVar13 = uVar13 - 1" (identifier "uVar13") (= "=") (binary_expression "uVar13 - 1" (identifier "uVar13") (- "-") (number_literal "1"))) (; ";")) (if_statement "if (uVar22 == 0xffffffff) break;" (if "if") (parenthesized_expression "(uVar22 == 0xffffffff)" (( "(") (binary_expression "uVar22 == 0xffffffff" (identifier "uVar22") (== "==") (number_literal "0xffffffff")) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}"))) (} "}"))) (expression_statement "iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);" (assignment_expression "iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_EOFBlob_003a9748)(iVar6)" (parenthesized_expression "(*(code *)PTR_EOFBlob_003a9748)" (( "(") (pointer_expression "*(code *)PTR_EOFBlob_003a9748" (* "*") (cast_expression "(code *)PTR_EOFBlob_003a9748" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_EOFBlob_003a9748"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";")) (if_statement "if (iVar7 != 0) {\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\nLAB_00224e4c:\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      if (local_114c == 0) {\nLAB_00224fc0:\n        uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      else {\nLAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      goto LAB_00224c7c;\n    }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);\n      (*(code *)PTR_DestroyString_003a9074)(uVar20);\nLAB_00224e4c:\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      if (local_114c == 0) {\nLAB_00224fc0:\n        uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      else {\nLAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      goto LAB_00224c7c;\n    }" ({ "{") (expression_statement "puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" (identifier "puVar14") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_003a99b0)()" (parenthesized_expression "(*(code *)PTR___errno_location_003a99b0)" (( "(") (pointer_expression "*(code *)PTR___errno_location_003a99b0" (* "*") (cast_expression "(code *)PTR___errno_location_003a99b0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_003a99b0"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);" (assignment_expression "uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14)" (identifier "uVar20") (= "=") (call_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14)" (parenthesized_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)" (( "(") (pointer_expression "*(code *)PTR_GetExceptionMessage_003a93ec" (* "*") (cast_expression "(code *)PTR_GetExceptionMessage_003a93ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetExceptionMessage_003a93ec"))) () ")")) (argument_list "(*puVar14)" (( "(") (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) () ")")))) (; ";")) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20)" (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_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,\n                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20)" (( "(") (identifier "param_2") (, ",") (binary_expression "PTR_UINT_003a8950 + -0xe40" (identifier "PTR_UINT_003a8950") (+ "+") (number_literal "-0xe40")) (, ",") (binary_expression "PTR_UINT_003a8950 + -0xc70" (identifier "PTR_UINT_003a8950") (+ "+") (number_literal "-0xc70")) (, ",") (number_literal "0x1e6") (, ",") (number_literal "0x1a9") (, ",") (binary_expression "PTR_s_courses_003a88ec + -0x17c" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "-0x17c")) (, ",") (binary_expression "PTR_LAB_003a88e0 + 0xe78" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0xe78")) (, ",") (binary_expression "iVar6 + 0x340" (identifier "iVar6") (+ "+") (number_literal "0x340")) (, ",") (identifier "uVar20") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_DestroyString_003a9074)(uVar20);" (call_expression "(*(code *)PTR_DestroyString_003a9074)(uVar20)" (parenthesized_expression "(*(code *)PTR_DestroyString_003a9074)" (( "(") (pointer_expression "*(code *)PTR_DestroyString_003a9074" (* "*") (cast_expression "(code *)PTR_DestroyString_003a9074" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DestroyString_003a9074"))) () ")")) (argument_list "(uVar20)" (( "(") (identifier "uVar20") () ")"))) (; ";")) (labeled_statement "LAB_00224e4c:\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);" (statement_identifier "LAB_00224e4c") (: ":") (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(iVar6);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(iVar6)" (parenthesized_expression "(*(code *)PTR_CloseBlob_003a9688)" (( "(") (pointer_expression "*(code *)PTR_CloseBlob_003a9688" (* "*") (cast_expression "(code *)PTR_CloseBlob_003a9688" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_CloseBlob_003a9688"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))) (; ";"))) (if_statement "if (local_114c == 0) {\nLAB_00224fc0:\n        uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n        dVar26 = in_f22_23;\n      }\n      else {\nLAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);\n        dVar26 = in_f22_23;\n      }" (if "if") (parenthesized_expression "(local_114c == 0)" (( "(") (binary_expression "local_114c == 0" (identifier "local_114c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00224fc0:\n        uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);\n        dVar26 = in_f22_23;\n      }" ({ "{") (labeled_statement "LAB_00224fc0:\n        uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);" (statement_identifier "LAB_00224fc0") (: ":") (expression_statement "uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);" (assignment_expression "uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6)" (identifier "uVar20") (= "=") (call_expression "(*(code *)PTR_DestroyImageList_003a9510)(iVar6)" (parenthesized_expression "(*(code *)PTR_DestroyImageList_003a9510)" (( "(") (pointer_expression "*(code *)PTR_DestroyImageList_003a9510" (* "*") (cast_expression "(code *)PTR_DestroyImageList_003a9510" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DestroyImageList_003a9510"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";"))) (expression_statement "dVar26 = in_f22_23;" (assignment_expression "dVar26 = in_f22_23" (identifier "dVar26") (= "=") (identifier "in_f22_23")) (; ";")) (} "}")) (else_clause "else {\nLAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);\n        dVar26 = in_f22_23;\n      }" (else "else") (compound_statement "{\nLAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);\n        dVar26 = in_f22_23;\n      }" ({ "{") (labeled_statement "LAB_00224e60:\n        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);" (statement_identifier "LAB_00224e60") (: ":") (expression_statement "uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);" (assignment_expression "uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6)" (identifier "uVar20") (= "=") (call_expression "(*(code *)PTR_GetFirstImageInList_003a944c)(iVar6)" (parenthesized_expression "(*(code *)PTR_GetFirstImageInList_003a944c)" (( "(") (pointer_expression "*(code *)PTR_GetFirstImageInList_003a944c" (* "*") (cast_expression "(code *)PTR_GetFirstImageInList_003a944c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetFirstImageInList_003a944c"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";"))) (expression_statement "dVar26 = in_f22_23;" (assignment_expression "dVar26 = in_f22_23" (identifier "dVar26") (= "=") (identifier "in_f22_23")) (; ";")) (} "}")))) (goto_statement "goto LAB_00224c7c;" (goto "goto") (statement_identifier "LAB_00224c7c") (; ";")) (} "}"))) (if_statement "if ((*(int *)(param_1 + 0x2c) != 0) &&\n       ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= *(uint *)(iVar6 + 0x26c)))\n    goto LAB_00224e4c;" (if "if") (parenthesized_expression "((*(int *)(param_1 + 0x2c) != 0) &&\n       ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= *(uint *)(iVar6 + 0x26c)))" (( "(") (binary_expression "(*(int *)(param_1 + 0x2c) != 0) &&\n       ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= *(uint *)(iVar6 + 0x26c))" (parenthesized_expression "(*(int *)(param_1 + 0x2c) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x2c) != 0" (pointer_expression "*(int *)(param_1 + 0x2c)" (* "*") (cast_expression "(int *)(param_1 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= *(uint *)(iVar6 + 0x26c))" (( "(") (binary_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= *(uint *)(iVar6 + 0x26c)" (binary_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U" (parenthesized_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28))" (( "(") (binary_expression "*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)" (pointer_expression "*(int *)(param_1 + 0x2c)" (* "*") (cast_expression "(int *)(param_1 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (pointer_expression "*(int *)(param_1 + 0x28)" (* "*") (cast_expression "(int *)(param_1 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (- "-") (number_literal "1U")) (<= "<=") (pointer_expression "*(uint *)(iVar6 + 0x26c)" (* "*") (cast_expression "(uint *)(iVar6 + 0x26c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x26c)" (( "(") (binary_expression "iVar6 + 0x26c" (identifier "iVar6") (+ "+") (number_literal "0x26c")) () ")"))))) () ")"))) () ")")) (goto_statement "goto LAB_00224e4c;" (goto "goto") (statement_identifier "LAB_00224e4c") (; ";"))) (if_statement "if ((int)local_1154 < (int)(local_1138 + -1)) {\n      (*(code *)PTR_AcquireNextImage_003a8f90)(param_1,iVar6,param_2);\n      iVar7 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar6);\n      if (iVar7 != 0) {\n        iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6);\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32);\n        if (local_114c != 0) goto LAB_00224e34;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224fc0;\n    }" (if "if") (parenthesized_expression "((int)local_1154 < (int)(local_1138 + -1))" (( "(") (binary_expression "(int)local_1154 < (int)(local_1138 + -1)" (cast_expression "(int)local_1154" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1154")) (< "<") (cast_expression "(int)(local_1138 + -1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_1138 + -1)" (( "(") (binary_expression "local_1138 + -1" (identifier "local_1138") (+ "+") (number_literal "-1")) () ")")))) () ")")) (compound_statement "{\n      (*(code *)PTR_AcquireNextImage_003a8f90)(param_1,iVar6,param_2);\n      iVar7 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar6);\n      if (iVar7 != 0) {\n        iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6);\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32);\n        if (local_114c != 0) goto LAB_00224e34;\n      }\n      (*(code *)PTR_CloseBlob_003a9688)(iVar6);\n      goto LAB_00224fc0;\n    }" ({ "{") (expression_statement "(*(code *)PTR_AcquireNextImage_003a8f90)(param_1,iVar6,param_2);" (call_expression "(*(code *)PTR_AcquireNextImage_003a8f90)(param_1,iVar6,param_2)" (parenthesized_expression "(*(code *)PTR_AcquireNextImage_003a8f90)" (( "(") (pointer_expression "*(code *)PTR_AcquireNextImage_003a8f90" (* "*") (cast_expression "(code *)PTR_AcquireNextImage_003a8f90" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_AcquireNextImage_003a8f90"))) () ")")) (argument_list "(param_1,iVar6,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "iVar6") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "iVar7 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar6);" (assignment_expression "iVar7 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar6)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_GetNextImageInList_003a9470)(iVar6)" (parenthesized_expression "(*(code *)PTR_GetNextImageInList_003a9470)" (( "(") (pointer_expression "*(code *)PTR_GetNextImageInList_003a9470" (* "*") (cast_expression "(code *)PTR_GetNextImageInList_003a9470" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetNextImageInList_003a9470"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";")) (if_statement "if (iVar7 != 0) {\n        iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6);\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32);\n        if (local_114c != 0) goto LAB_00224e34;\n      }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6);\n        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);\n        uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6);\n        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32);\n        if (local_114c != 0) goto LAB_00224e34;\n      }" ({ "{") (expression_statement "iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6);" (assignment_expression "iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6)" (identifier "iVar6") (= "=") (call_expression "(*(code *)PTR_SyncNextImageInList_003a9408)(iVar6)" (parenthesized_expression "(*(code *)PTR_SyncNextImageInList_003a9408)" (( "(") (pointer_expression "*(code *)PTR_SyncNextImageInList_003a9408" (* "*") (cast_expression "(code *)PTR_SyncNextImageInList_003a9408" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_SyncNextImageInList_003a9408"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";")) (expression_statement "uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);" (assignment_expression "uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6)" (identifier "uVar30") (= "=") (call_expression "(*(code *)PTR_TellBlob_003a931c)(iVar6)" (parenthesized_expression "(*(code *)PTR_TellBlob_003a931c)" (( "(") (pointer_expression "*(code *)PTR_TellBlob_003a931c" (* "*") (cast_expression "(code *)PTR_TellBlob_003a931c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_TellBlob_003a931c"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";")) (expression_statement "uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6);" (assignment_expression "uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6)" (identifier "uVar32") (= "=") (call_expression "(*(code *)PTR_GetBlobSize_003a94b8)(iVar6)" (parenthesized_expression "(*(code *)PTR_GetBlobSize_003a94b8)" (( "(") (pointer_expression "*(code *)PTR_GetBlobSize_003a94b8" (* "*") (cast_expression "(code *)PTR_GetBlobSize_003a94b8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetBlobSize_003a94b8"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";")) (expression_statement "local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32);" (assignment_expression "local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32)" (identifier "local_114c") (= "=") (call_expression "(*(code *)PTR_SetImageProgress_003a8cb4)\n                               (iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32)" (parenthesized_expression "(*(code *)PTR_SetImageProgress_003a8cb4)" (( "(") (pointer_expression "*(code *)PTR_SetImageProgress_003a8cb4" (* "*") (cast_expression "(code *)PTR_SetImageProgress_003a8cb4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_SetImageProgress_003a8cb4"))) () ")")) (argument_list "(iVar6,PTR_s_courses_003a88ec + -0x168,\n                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32)" (( "(") (identifier "iVar6") (, ",") (binary_expression "PTR_s_courses_003a88ec + -0x168" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "-0x168")) (, ",") (cast_expression "(int)((ulonglong)uVar30 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar30 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar30 >> 0x20" (cast_expression "(ulonglong)uVar30" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar30")) (>> ">>") (number_literal "0x20")) () ")"))) (, ",") (cast_expression "(int)uVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar30")) (, ",") (identifier "uVar32") () ")")))) (; ";")) (if_statement "if (local_114c != 0) goto LAB_00224e34;" (if "if") (parenthesized_expression "(local_114c != 0)" (( "(") (binary_expression "local_114c != 0" (identifier "local_114c") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00224e34;" (goto "goto") (statement_identifier "LAB_00224e34") (; ";"))) (} "}"))) (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(iVar6);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(iVar6)" (parenthesized_expression "(*(code *)PTR_CloseBlob_003a9688)" (( "(") (pointer_expression "*(code *)PTR_CloseBlob_003a9688" (* "*") (cast_expression "(code *)PTR_CloseBlob_003a9688" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_CloseBlob_003a9688"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))) (; ";")) (goto_statement "goto LAB_00224fc0;" (goto "goto") (statement_identifier "LAB_00224fc0") (; ";")) (} "}"))) (labeled_statement "LAB_00224e34:\n    local_1154 = local_1154 + 1;" (statement_identifier "LAB_00224e34") (: ":") (expression_statement "local_1154 = local_1154 + 1;" (assignment_expression "local_1154 = local_1154 + 1" (identifier "local_1154") (= "=") (binary_expression "local_1154 + 1" (identifier "local_1154") (+ "+") (number_literal "1"))) (; ";"))) (if_statement "if (local_1154 == local_1138) goto LAB_00224e4c;" (if "if") (parenthesized_expression "(local_1154 == local_1138)" (( "(") (binary_expression "local_1154 == local_1138" (identifier "local_1154") (== "==") (identifier "local_1138")) () ")")) (goto_statement "goto LAB_00224e4c;" (goto "goto") (statement_identifier "LAB_00224e4c") (; ";"))) (labeled_statement "LAB_00224900:\n    iVar7 = *(int *)(param_1 + 0x1dc);" (statement_identifier "LAB_00224900") (: ":") (expression_statement "iVar7 = *(int *)(param_1 + 0x1dc);" (assignment_expression "iVar7 = *(int *)(param_1 + 0x1dc)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(param_1 + 0x1dc)" (* "*") (cast_expression "(int *)(param_1 + 0x1dc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1dc)" (( "(") (binary_expression "param_1 + 0x1dc" (identifier "param_1") (+ "+") (number_literal "0x1dc")) () ")"))))) (; ";"))) (expression_statement "*(int *)(iVar6 + 0x18) = local_1148;" (assignment_expression "*(int *)(iVar6 + 0x18) = local_1148" (pointer_expression "*(int *)(iVar6 + 0x18)" (* "*") (cast_expression "(int *)(iVar6 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x18)" (( "(") (binary_expression "iVar6 + 0x18" (identifier "iVar6") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "local_1148")) (; ";")) (expression_statement "*(int *)(iVar6 + 0x1c) = local_1144;" (assignment_expression "*(int *)(iVar6 + 0x1c) = local_1144" (pointer_expression "*(int *)(iVar6 + 0x1c)" (* "*") (cast_expression "(int *)(iVar6 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x1c)" (( "(") (binary_expression "iVar6 + 0x1c" (identifier "iVar6") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "local_1144")) (; ";")) (expression_statement "*(int *)(iVar6 + 0x20) = local_1128;" (assignment_expression "*(int *)(iVar6 + 0x20) = local_1128" (pointer_expression "*(int *)(iVar6 + 0x20)" (* "*") (cast_expression "(int *)(iVar6 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x20)" (( "(") (binary_expression "iVar6 + 0x20" (identifier "iVar6") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "local_1128")) (; ";")) (expression_statement "*(undefined4 *)(iVar6 + 0x25c) = local_1124;" (assignment_expression "*(undefined4 *)(iVar6 + 0x25c) = local_1124" (pointer_expression "*(undefined4 *)(iVar6 + 0x25c)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0x25c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x25c)" (( "(") (binary_expression "iVar6 + 0x25c" (identifier "iVar6") (+ "+") (number_literal "0x25c")) () ")")))) (= "=") (identifier "local_1124")) (; ";")) (expression_statement "*(undefined **)(iVar6 + 0x26c) = local_1154;" (assignment_expression "*(undefined **)(iVar6 + 0x26c) = local_1154" (pointer_expression "*(undefined **)(iVar6 + 0x26c)" (* "*") (cast_expression "(undefined **)(iVar6 + 0x26c)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x26c)" (( "(") (binary_expression "iVar6 + 0x26c" (identifier "iVar6") (+ "+") (number_literal "0x26c")) () ")")))) (= "=") (identifier "local_1154")) (; ";")) (if_statement "if (((iVar7 != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n       ((undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1) <= local_1154))\n    goto LAB_00224e4c;" (if "if") (parenthesized_expression "(((iVar7 != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n       ((undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1) <= local_1154))" (( "(") (binary_expression "((iVar7 != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n       ((undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1) <= local_1154)" (parenthesized_expression "((iVar7 != 0) && (*(int *)(param_1 + 0x2c) != 0))" (( "(") (binary_expression "(iVar7 != 0) && (*(int *)(param_1 + 0x2c) != 0)" (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(param_1 + 0x2c) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x2c) != 0" (pointer_expression "*(int *)(param_1 + 0x2c)" (* "*") (cast_expression "(int *)(param_1 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1) <= local_1154)" (( "(") (binary_expression "(undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1) <= local_1154" (cast_expression "(undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1)" (( "(") (binary_expression "*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1" (binary_expression "*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)" (pointer_expression "*(int *)(param_1 + 0x2c)" (* "*") (cast_expression "(int *)(param_1 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (pointer_expression "*(int *)(param_1 + 0x28)" (* "*") (cast_expression "(int *)(param_1 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) (+ "+") (number_literal "-1")) () ")"))) (<= "<=") (identifier "local_1154")) () ")"))) () ")")) (goto_statement "goto LAB_00224e4c;" (goto "goto") (statement_identifier "LAB_00224e4c") (; ";"))) (expression_statement "local_114c = (*(code *)PTR_SetImageExtent_003a94ac)(iVar6,local_1148,local_1144,param_2);" (assignment_expression "local_114c = (*(code *)PTR_SetImageExtent_003a94ac)(iVar6,local_1148,local_1144,param_2)" (identifier "local_114c") (= "=") (call_expression "(*(code *)PTR_SetImageExtent_003a94ac)(iVar6,local_1148,local_1144,param_2)" (parenthesized_expression "(*(code *)PTR_SetImageExtent_003a94ac)" (( "(") (pointer_expression "*(code *)PTR_SetImageExtent_003a94ac" (* "*") (cast_expression "(code *)PTR_SetImageExtent_003a94ac" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_SetImageExtent_003a94ac"))) () ")")) (argument_list "(iVar6,local_1148,local_1144,param_2)" (( "(") (identifier "iVar6") (, ",") (identifier "local_1148") (, ",") (identifier "local_1144") (, ",") (identifier "param_2") () ")")))) (; ";")) (if_statement "if (local_114c == 0) goto LAB_00224fc0;" (if "if") (parenthesized_expression "(local_114c == 0)" (( "(") (binary_expression "local_114c == 0" (identifier "local_114c") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00224fc0;" (goto "goto") (statement_identifier "LAB_00224fc0") (; ";"))) (expression_statement "(*(code *)PTR_SetImageColorspace_003a8d40)(iVar6,3,param_2);" (call_expression "(*(code *)PTR_SetImageColorspace_003a8d40)(iVar6,3,param_2)" (parenthesized_expression "(*(code *)PTR_SetImageColorspace_003a8d40)" (( "(") (pointer_expression "*(code *)PTR_SetImageColorspace_003a8d40" (* "*") (cast_expression "(code *)PTR_SetImageColorspace_003a8d40" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_SetImageColorspace_003a8d40"))) () ")")) (argument_list "(iVar6,3,param_2)" (( "(") (identifier "iVar6") (, ",") (number_literal "3") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "in_f22_23 = local_10e0;" (assignment_expression "in_f22_23 = local_10e0" (identifier "in_f22_23") (= "=") (identifier "local_10e0")) (; ";")) (if_statement "if ((local_10e0 != 0.0) || (local_10d8 != 0.0)) {\n      if (local_1158 != (undefined1 *)0x0) goto LAB_002249dc;\n      dVar26 = 0.0;\n      dVar28 = dVar26;\n      goto LAB_002249f4;\n    }" (if "if") (parenthesized_expression "((local_10e0 != 0.0) || (local_10d8 != 0.0))" (( "(") (binary_expression "(local_10e0 != 0.0) || (local_10d8 != 0.0)" (parenthesized_expression "(local_10e0 != 0.0)" (( "(") (binary_expression "local_10e0 != 0.0" (identifier "local_10e0") (!= "!=") (number_literal "0.0")) () ")")) (|| "||") (parenthesized_expression "(local_10d8 != 0.0)" (( "(") (binary_expression "local_10d8 != 0.0" (identifier "local_10d8") (!= "!=") (number_literal "0.0")) () ")"))) () ")")) (compound_statement "{\n      if (local_1158 != (undefined1 *)0x0) goto LAB_002249dc;\n      dVar26 = 0.0;\n      dVar28 = dVar26;\n      goto LAB_002249f4;\n    }" ({ "{") (if_statement "if (local_1158 != (undefined1 *)0x0) goto LAB_002249dc;" (if "if") (parenthesized_expression "(local_1158 != (undefined1 *)0x0)" (( "(") (binary_expression "local_1158 != (undefined1 *)0x0" (identifier "local_1158") (!= "!=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_002249dc;" (goto "goto") (statement_identifier "LAB_002249dc") (; ";"))) (expression_statement "dVar26 = 0.0;" (assignment_expression "dVar26 = 0.0" (identifier "dVar26") (= "=") (number_literal "0.0")) (; ";")) (expression_statement "dVar28 = dVar26;" (assignment_expression "dVar28 = dVar26" (identifier "dVar28") (= "=") (identifier "dVar26")) (; ";")) (goto_statement "goto LAB_002249f4;" (goto "goto") (statement_identifier "LAB_002249f4") (; ";")) (} "}"))) (if_statement "if (((uint)local_1158 & 0xffffffdf) != 0xffffffc0) break;" (if "if") (parenthesized_expression "(((uint)local_1158 & 0xffffffdf) != 0xffffffc0)" (( "(") (binary_expression "((uint)local_1158 & 0xffffffdf) != 0xffffffc0" (parenthesized_expression "((uint)local_1158 & 0xffffffdf)" (( "(") (binary_expression "(uint)local_1158 & 0xffffffdf" (cast_expression "(uint)local_1158" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_1158")) (& "&") (number_literal "0xffffffdf")) () ")")) (!= "!=") (number_literal "0xffffffc0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "dVar26 = local_10d8;" (assignment_expression "dVar26 = local_10d8" (identifier "dVar26") (= "=") (identifier "local_10d8")) (; ";")) (expression_statement "lVar33 = (*(code *)PTR_TellBlob_003a931c)(iVar6);" (assignment_expression "lVar33 = (*(code *)PTR_TellBlob_003a931c)(iVar6)" (identifier "lVar33") (= "=") (call_expression "(*(code *)PTR_TellBlob_003a931c)(iVar6)" (parenthesized_expression "(*(code *)PTR_TellBlob_003a931c)" (( "(") (pointer_expression "*(code *)PTR_TellBlob_003a931c" (* "*") (cast_expression "(code *)PTR_TellBlob_003a931c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_TellBlob_003a931c"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";")) (if_statement "if (lVar33 != -1) {\n      lVar31 = (ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)*(uint *)(iVar6 + 0x1c);\n      uVar22 = *(uint *)(iVar6 + 0x20) >> 3;\n      if (uVar22 == 2) {\n        sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n        dVar26 = (double)(int)sVar15;\n      }\n      else if (uVar22 == 4) {\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }\n      else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }\n      local_1160._0_4_ = (int)((ulonglong)lVar31 >> 0x20);\n      uVar20 = local_1160._0_4_;\n      local_1160 = lVar31;\n      local_10e0 = dVar26;\n      local_10d8 = dVar26;\n      if (0xffffffff < lVar31) goto LAB_00225060;\n      goto LAB_002252f8;\n    }" (if "if") (parenthesized_expression "(lVar33 != -1)" (( "(") (binary_expression "lVar33 != -1" (identifier "lVar33") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n      lVar31 = (ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)*(uint *)(iVar6 + 0x1c);\n      uVar22 = *(uint *)(iVar6 + 0x20) >> 3;\n      if (uVar22 == 2) {\n        sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n        dVar26 = (double)(int)sVar15;\n      }\n      else if (uVar22 == 4) {\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }\n      else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }\n      local_1160._0_4_ = (int)((ulonglong)lVar31 >> 0x20);\n      uVar20 = local_1160._0_4_;\n      local_1160 = lVar31;\n      local_10e0 = dVar26;\n      local_10d8 = dVar26;\n      if (0xffffffff < lVar31) goto LAB_00225060;\n      goto LAB_002252f8;\n    }" ({ "{") (expression_statement "lVar31 = (ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)*(uint *)(iVar6 + 0x1c);" (assignment_expression "lVar31 = (ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)*(uint *)(iVar6 + 0x1c)" (identifier "lVar31") (= "=") (binary_expression "(ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)*(uint *)(iVar6 + 0x1c)" (binary_expression "(ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)" (binary_expression "(ulonglong)*(uint *)(iVar6 + 0x18)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (* "*") (cast_expression "(uint *)(iVar6 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x18)" (( "(") (binary_expression "iVar6 + 0x18" (identifier "iVar6") (+ "+") (number_literal "0x18")) () ")")))) (* "*") (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")"))) (* "*") (cast_expression "(uint *)(iVar6 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x1c)" (( "(") (binary_expression "iVar6 + 0x1c" (identifier "iVar6") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "uVar22 = *(uint *)(iVar6 + 0x20) >> 3;" (assignment_expression "uVar22 = *(uint *)(iVar6 + 0x20) >> 3" (identifier "uVar22") (= "=") (binary_expression "*(uint *)(iVar6 + 0x20) >> 3" (pointer_expression "*(uint *)(iVar6 + 0x20)" (* "*") (cast_expression "(uint *)(iVar6 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x20)" (( "(") (binary_expression "iVar6 + 0x20" (identifier "iVar6") (+ "+") (number_literal "0x20")) () ")")))) (>> ">>") (number_literal "3"))) (; ";")) (if_statement "if (uVar22 == 2) {\n        sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n        dVar26 = (double)(int)sVar15;\n      }\n      else if (uVar22 == 4) {\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }\n      else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }" (if "if") (parenthesized_expression "(uVar22 == 2)" (( "(") (binary_expression "uVar22 == 2" (identifier "uVar22") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n        sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n        dVar26 = (double)(int)sVar15;\n      }" ({ "{") (expression_statement "sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);" (assignment_expression "sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6)" (identifier "sVar15") (= "=") (call_expression "(*(code *)PTR_ReadBlobShort_003a8d80)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobShort_003a8d80)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobShort_003a8d80" (* "*") (cast_expression "(code *)PTR_ReadBlobShort_003a8d80" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobShort_003a8d80"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";")) (expression_statement "dVar26 = (double)(int)sVar15;" (assignment_expression "dVar26 = (double)(int)sVar15" (identifier "dVar26") (= "=") (cast_expression "(double)(int)sVar15" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(int)sVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "sVar15")))) (; ";")) (} "}")) (else_clause "else if (uVar22 == 4) {\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }\n      else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }" (else "else") (if_statement "if (uVar22 == 4) {\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }\n      else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }" (if "if") (parenthesized_expression "(uVar22 == 4)" (( "(") (binary_expression "uVar22 == 4" (identifier "uVar22") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n        dVar26 = (double)fVar27;\n      }" ({ "{") (expression_statement "fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);" (assignment_expression "fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6)" (identifier "fVar27") (= "=") (cast_expression "(float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (call_expression "(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobFloat_003a8e98)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobFloat_003a8e98" (* "*") (cast_expression "(code *)PTR_ReadBlobFloat_003a8e98" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobFloat_003a8e98"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))))) (; ";")) (expression_statement "dVar26 = (double)fVar27;" (assignment_expression "dVar26 = (double)fVar27" (identifier "dVar26") (= "=") (cast_expression "(double)fVar27" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar27"))) (; ";")) (} "}")) (else_clause "else if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }" (else "else") (if_statement "if (uVar22 == 1) {\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }\n      else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }" (if "if") (parenthesized_expression "(uVar22 == 1)" (( "(") (binary_expression "uVar22 == 1" (identifier "uVar22") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n        dVar26 = (double)iVar7;\n      }" ({ "{") (expression_statement "iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);" (assignment_expression "iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" (* "*") (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobByte_003a97f0"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";")) (expression_statement "dVar26 = (double)iVar7;" (assignment_expression "dVar26 = (double)iVar7" (identifier "dVar26") (= "=") (cast_expression "(double)iVar7" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "iVar7"))) (; ";")) (} "}")) (else_clause "else {\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }" (else "else") (compound_statement "{\n        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n      }" ({ "{") (expression_statement "dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);" (assignment_expression "dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6)" (identifier "dVar26") (= "=") (cast_expression "(double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobDouble_003a8c38)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobDouble_003a8c38" (* "*") (cast_expression "(code *)PTR_ReadBlobDouble_003a8c38" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobDouble_003a8c38"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))))) (; ";")) (} "}")))))))) (expression_statement "local_1160._0_4_ = (int)((ulonglong)lVar31 >> 0x20);" (assignment_expression "local_1160._0_4_ = (int)((ulonglong)lVar31 >> 0x20)" (field_expression "local_1160._0_4_" (identifier "local_1160") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(int)((ulonglong)lVar31 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)lVar31 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar31 >> 0x20" (cast_expression "(ulonglong)lVar31" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar31")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "uVar20 = local_1160._0_4_;" (assignment_expression "uVar20 = local_1160._0_4_" (identifier "uVar20") (= "=") (field_expression "local_1160._0_4_" (identifier "local_1160") (. ".") (field_identifier "_0_4_"))) (; ";")) (expression_statement "local_1160 = lVar31;" (assignment_expression "local_1160 = lVar31" (identifier "local_1160") (= "=") (identifier "lVar31")) (; ";")) (expression_statement "local_10e0 = dVar26;" (assignment_expression "local_10e0 = dVar26" (identifier "local_10e0") (= "=") (identifier "dVar26")) (; ";")) (expression_statement "local_10d8 = dVar26;" (assignment_expression "local_10d8 = dVar26" (identifier "local_10d8") (= "=") (identifier "dVar26")) (; ";")) (if_statement "if (0xffffffff < lVar31) goto LAB_00225060;" (if "if") (parenthesized_expression "(0xffffffff < lVar31)" (( "(") (binary_expression "0xffffffff < lVar31" (number_literal "0xffffffff") (< "<") (identifier "lVar31")) () ")")) (goto_statement "goto LAB_00225060;" (goto "goto") (statement_identifier "LAB_00225060") (; ";"))) (goto_statement "goto LAB_002252f8;" (goto "goto") (statement_identifier "LAB_002252f8") (; ";")) (} "}"))) (expression_statement "dVar26 = dVar26 - in_f22_23;" (assignment_expression "dVar26 = dVar26 - in_f22_23" (identifier "dVar26") (= "=") (binary_expression "dVar26 - in_f22_23" (identifier "dVar26") (- "-") (identifier "in_f22_23"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (expression_statement "dVar26 = 0.0;" (assignment_expression "dVar26 = 0.0" (identifier "dVar26") (= "=") (number_literal "0.0")) (; ";")) (expression_statement "dVar28 = dVar26;" (assignment_expression "dVar28 = dVar26" (identifier "dVar28") (= "=") (identifier "dVar26")) (; ";")) (if_statement "if (local_1158 != (undefined1 *)0x0) {\nLAB_002249dc:\n    dVar26 = (double)(*(code *)PTR_FUN_003a8a60)(local_1120,local_111c);\n    dVar28 = dVar26;\n  }" (if "if") (parenthesized_expression "(local_1158 != (undefined1 *)0x0)" (( "(") (binary_expression "local_1158 != (undefined1 *)0x0" (identifier "local_1158") (!= "!=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_002249dc:\n    dVar26 = (double)(*(code *)PTR_FUN_003a8a60)(local_1120,local_111c);\n    dVar28 = dVar26;\n  }" ({ "{") (labeled_statement "LAB_002249dc:\n    dVar26 = (double)(*(code *)PTR_FUN_003a8a60)(local_1120,local_111c);" (statement_identifier "LAB_002249dc") (: ":") (expression_statement "dVar26 = (double)(*(code *)PTR_FUN_003a8a60)(local_1120,local_111c);" (assignment_expression "dVar26 = (double)(*(code *)PTR_FUN_003a8a60)(local_1120,local_111c)" (identifier "dVar26") (= "=") (cast_expression "(double)(*(code *)PTR_FUN_003a8a60)(local_1120,local_111c)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(*(code *)PTR_FUN_003a8a60)(local_1120,local_111c)" (parenthesized_expression "(*(code *)PTR_FUN_003a8a60)" (( "(") (pointer_expression "*(code *)PTR_FUN_003a8a60" (* "*") (cast_expression "(code *)PTR_FUN_003a8a60" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_003a8a60"))) () ")")) (argument_list "(local_1120,local_111c)" (( "(") (identifier "local_1120") (, ",") (identifier "local_111c") () ")"))))) (; ";"))) (expression_statement "dVar28 = dVar26;" (assignment_expression "dVar28 = dVar26" (identifier "dVar28") (= "=") (identifier "dVar26")) (; ";")) (} "}"))) (goto_statement "goto LAB_002249f4;" (goto "goto") (statement_identifier "LAB_002249f4") (; ";")) (labeled_statement "LAB_00225060:\n  iVar7 = 0;" (statement_identifier "LAB_00225060") (: ":") (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";"))) (expression_statement "uVar22 = 1;" (assignment_expression "uVar22 = 1" (identifier "uVar22") (= "=") (number_literal "1")) (; ";")) (expression_statement "dVar28 = dVar26;" (assignment_expression "dVar28 = dVar26" (identifier "dVar28") (= "=") (identifier "dVar26")) (; ";")) (expression_statement "dVar29 = dVar26;" (assignment_expression "dVar29 = dVar26" (identifier "dVar29") (= "=") (identifier "dVar26")) (; ";")) (do_statement "do {\n    uVar13 = *(uint *)(iVar6 + 0x20) >> 3;\n    if (uVar13 == 2) {\n      sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n      dVar26 = (double)(int)sVar15;\n    }\n    else if (uVar13 == 4) {\n      fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n      dVar26 = (double)fVar27;\n    }\n    else if (uVar13 == 1) {\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }\n    else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }\n    dVar5 = dVar26;\n    if (dVar29 <= dVar26) {\n      dVar5 = local_10e0;\n    }\n    local_10e0 = dVar5;\n    uVar13 = uVar22 + 1;\n    dVar29 = dVar26;\n    if (dVar26 <= dVar28) {\n      dVar26 = dVar28;\n      dVar29 = local_10d8;\n    }\n    local_10d8 = dVar29;\n    iVar7 = (uint)(uVar13 < uVar22) + iVar7;\n    uVar22 = uVar13;\n    dVar28 = dVar26;\n    dVar29 = local_10e0;\n    in_f22_23 = local_10e0;\n  } while (lVar31 != CONCAT44(iVar7,uVar13));" (do "do") (compound_statement "{\n    uVar13 = *(uint *)(iVar6 + 0x20) >> 3;\n    if (uVar13 == 2) {\n      sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n      dVar26 = (double)(int)sVar15;\n    }\n    else if (uVar13 == 4) {\n      fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n      dVar26 = (double)fVar27;\n    }\n    else if (uVar13 == 1) {\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }\n    else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }\n    dVar5 = dVar26;\n    if (dVar29 <= dVar26) {\n      dVar5 = local_10e0;\n    }\n    local_10e0 = dVar5;\n    uVar13 = uVar22 + 1;\n    dVar29 = dVar26;\n    if (dVar26 <= dVar28) {\n      dVar26 = dVar28;\n      dVar29 = local_10d8;\n    }\n    local_10d8 = dVar29;\n    iVar7 = (uint)(uVar13 < uVar22) + iVar7;\n    uVar22 = uVar13;\n    dVar28 = dVar26;\n    dVar29 = local_10e0;\n    in_f22_23 = local_10e0;\n  }" ({ "{") (expression_statement "uVar13 = *(uint *)(iVar6 + 0x20) >> 3;" (assignment_expression "uVar13 = *(uint *)(iVar6 + 0x20) >> 3" (identifier "uVar13") (= "=") (binary_expression "*(uint *)(iVar6 + 0x20) >> 3" (pointer_expression "*(uint *)(iVar6 + 0x20)" (* "*") (cast_expression "(uint *)(iVar6 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x20)" (( "(") (binary_expression "iVar6 + 0x20" (identifier "iVar6") (+ "+") (number_literal "0x20")) () ")")))) (>> ">>") (number_literal "3"))) (; ";")) (if_statement "if (uVar13 == 2) {\n      sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n      dVar26 = (double)(int)sVar15;\n    }\n    else if (uVar13 == 4) {\n      fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n      dVar26 = (double)fVar27;\n    }\n    else if (uVar13 == 1) {\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }\n    else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }" (if "if") (parenthesized_expression "(uVar13 == 2)" (( "(") (binary_expression "uVar13 == 2" (identifier "uVar13") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);\n      dVar26 = (double)(int)sVar15;\n    }" ({ "{") (expression_statement "sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);" (assignment_expression "sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6)" (identifier "sVar15") (= "=") (call_expression "(*(code *)PTR_ReadBlobShort_003a8d80)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobShort_003a8d80)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobShort_003a8d80" (* "*") (cast_expression "(code *)PTR_ReadBlobShort_003a8d80" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobShort_003a8d80"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";")) (expression_statement "dVar26 = (double)(int)sVar15;" (assignment_expression "dVar26 = (double)(int)sVar15" (identifier "dVar26") (= "=") (cast_expression "(double)(int)sVar15" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(int)sVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "sVar15")))) (; ";")) (} "}")) (else_clause "else if (uVar13 == 4) {\n      fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n      dVar26 = (double)fVar27;\n    }\n    else if (uVar13 == 1) {\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }\n    else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }" (else "else") (if_statement "if (uVar13 == 4) {\n      fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n      dVar26 = (double)fVar27;\n    }\n    else if (uVar13 == 1) {\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }\n    else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }" (if "if") (parenthesized_expression "(uVar13 == 4)" (( "(") (binary_expression "uVar13 == 4" (identifier "uVar13") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n      fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);\n      dVar26 = (double)fVar27;\n    }" ({ "{") (expression_statement "fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);" (assignment_expression "fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6)" (identifier "fVar27") (= "=") (cast_expression "(float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (call_expression "(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobFloat_003a8e98)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobFloat_003a8e98" (* "*") (cast_expression "(code *)PTR_ReadBlobFloat_003a8e98" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobFloat_003a8e98"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))))) (; ";")) (expression_statement "dVar26 = (double)fVar27;" (assignment_expression "dVar26 = (double)fVar27" (identifier "dVar26") (= "=") (cast_expression "(double)fVar27" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar27"))) (; ";")) (} "}")) (else_clause "else if (uVar13 == 1) {\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }\n    else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }" (else "else") (if_statement "if (uVar13 == 1) {\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }\n    else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }" (if "if") (parenthesized_expression "(uVar13 == 1)" (( "(") (binary_expression "uVar13 == 1" (identifier "uVar13") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);\n      dVar26 = (double)iVar10;\n    }" ({ "{") (expression_statement "iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);" (assignment_expression "iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6)" (identifier "iVar10") (= "=") (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" (* "*") (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobByte_003a97f0"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";")) (expression_statement "dVar26 = (double)iVar10;" (assignment_expression "dVar26 = (double)iVar10" (identifier "dVar26") (= "=") (cast_expression "(double)iVar10" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "iVar10"))) (; ";")) (} "}")) (else_clause "else {\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }" (else "else") (compound_statement "{\n      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);\n    }" ({ "{") (expression_statement "dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);" (assignment_expression "dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6)" (identifier "dVar26") (= "=") (cast_expression "(double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6)" (parenthesized_expression "(*(code *)PTR_ReadBlobDouble_003a8c38)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobDouble_003a8c38" (* "*") (cast_expression "(code *)PTR_ReadBlobDouble_003a8c38" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobDouble_003a8c38"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))))) (; ";")) (} "}")))))))) (expression_statement "dVar5 = dVar26;" (assignment_expression "dVar5 = dVar26" (identifier "dVar5") (= "=") (identifier "dVar26")) (; ";")) (if_statement "if (dVar29 <= dVar26) {\n      dVar5 = local_10e0;\n    }" (if "if") (parenthesized_expression "(dVar29 <= dVar26)" (( "(") (binary_expression "dVar29 <= dVar26" (identifier "dVar29") (<= "<=") (identifier "dVar26")) () ")")) (compound_statement "{\n      dVar5 = local_10e0;\n    }" ({ "{") (expression_statement "dVar5 = local_10e0;" (assignment_expression "dVar5 = local_10e0" (identifier "dVar5") (= "=") (identifier "local_10e0")) (; ";")) (} "}"))) (expression_statement "local_10e0 = dVar5;" (assignment_expression "local_10e0 = dVar5" (identifier "local_10e0") (= "=") (identifier "dVar5")) (; ";")) (expression_statement "uVar13 = uVar22 + 1;" (assignment_expression "uVar13 = uVar22 + 1" (identifier "uVar13") (= "=") (binary_expression "uVar22 + 1" (identifier "uVar22") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "dVar29 = dVar26;" (assignment_expression "dVar29 = dVar26" (identifier "dVar29") (= "=") (identifier "dVar26")) (; ";")) (if_statement "if (dVar26 <= dVar28) {\n      dVar26 = dVar28;\n      dVar29 = local_10d8;\n    }" (if "if") (parenthesized_expression "(dVar26 <= dVar28)" (( "(") (binary_expression "dVar26 <= dVar28" (identifier "dVar26") (<= "<=") (identifier "dVar28")) () ")")) (compound_statement "{\n      dVar26 = dVar28;\n      dVar29 = local_10d8;\n    }" ({ "{") (expression_statement "dVar26 = dVar28;" (assignment_expression "dVar26 = dVar28" (identifier "dVar26") (= "=") (identifier "dVar28")) (; ";")) (expression_statement "dVar29 = local_10d8;" (assignment_expression "dVar29 = local_10d8" (identifier "dVar29") (= "=") (identifier "local_10d8")) (; ";")) (} "}"))) (expression_statement "local_10d8 = dVar29;" (assignment_expression "local_10d8 = dVar29" (identifier "local_10d8") (= "=") (identifier "dVar29")) (; ";")) (expression_statement "iVar7 = (uint)(uVar13 < uVar22) + iVar7;" (assignment_expression "iVar7 = (uint)(uVar13 < uVar22) + iVar7" (identifier "iVar7") (= "=") (binary_expression "(uint)(uVar13 < uVar22) + iVar7" (call_expression "(uint)(uVar13 < uVar22)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar13 < uVar22)" (( "(") (binary_expression "uVar13 < uVar22" (identifier "uVar13") (< "<") (identifier "uVar22")) () ")"))) (+ "+") (identifier "iVar7"))) (; ";")) (expression_statement "uVar22 = uVar13;" (assignment_expression "uVar22 = uVar13" (identifier "uVar22") (= "=") (identifier "uVar13")) (; ";")) (expression_statement "dVar28 = dVar26;" (assignment_expression "dVar28 = dVar26" (identifier "dVar28") (= "=") (identifier "dVar26")) (; ";")) (expression_statement "dVar29 = local_10e0;" (assignment_expression "dVar29 = local_10e0" (identifier "dVar29") (= "=") (identifier "local_10e0")) (; ";")) (expression_statement "in_f22_23 = local_10e0;" (assignment_expression "in_f22_23 = local_10e0" (identifier "in_f22_23") (= "=") (identifier "local_10e0")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(lVar31 != CONCAT44(iVar7,uVar13))" (( "(") (binary_expression "lVar31 != CONCAT44(iVar7,uVar13)" (identifier "lVar31") (!= "!=") (call_expression "CONCAT44(iVar7,uVar13)" (identifier "CONCAT44") (argument_list "(iVar7,uVar13)" (( "(") (identifier "iVar7") (, ",") (identifier "uVar13") () ")")))) () ")")) (; ";")) (goto_statement "goto LAB_0022511c;" (goto "goto") (statement_identifier "LAB_0022511c") (; ";")) (} "}")))

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

type_1 * function_1(type_2 *var_2,type_3 *var_7)

{
  bool bVar1;
  type_4 uVar2;
  type_5 *var_14;
  type_5 *puVar4;
  double dVar5;
  int var_27;
  int var_21;
  int var_10;
  type_6 *var_11;
  int *piVar10;
  type_7 bVar19;
  type_8 var_22;
  int var_20;
  type_9 var_23;
  int var_38;
  type_1 *pIVar15;
  type_9 var_24;
  short sVar18;
  type_10 *puVar17;
  type_5 *var_9;
  float *pfVar21;
  double *pdVar22;
  type_9 uVar23;
  type_10 uVar24;
  type_7 *var_12;
  type_9 var_26;
  type_10 unaff_s3;
  type_5 *puVar27;
  type_10 unaff_s5;
  type_5 *puVar28;
  type_11 *pcVar29;
  double var_28;
  float fVar31;
  double var_34;
  double var_29;
  double var_37;
  double var_32;
  double var_35;
  type_12 uVar34;
  type_13 var_17;
  type_12 uVar36;
  type_13 var_19;
  type_12 local_1160;
  type_5 *var_41;
  type_5 *var_40;
  int var_8;
  int local_1148;
  int local_1144;
  type_9 var_31;
  type_5 *var_39;
  type_5 *var_30;
  type_5 *local_112c;
  int local_1128;
  type_14 local_1124;
  int local_1120;
  type_9 var_25;
  double local_1118;
  char *var_16;
  double var_36;
  type_15 fits_info;
  char keyword [9];
  char var_13 [73];
  char property [4096];
  
  puVar4 = PTR___stack_chk_guard_003a9230;
  var_17 = var_1(unaff_s3,unaff_s5);
  var_27 = *(int *)PTR___stack_chk_guard_003a9230;
  if (var_2 == (type_2 *)0x0) {
    pIVar15 = (type_1 *)(*(type_11 *)PTR___assert_fail_003a9608)
                                 (var_3 + 0xd78,var_4 + -0xe40,0x120,
                                  var_4 + -0xc60);
    return pIVar15;
  }
  if (var_2->signature != 0xabacadab) {
    pIVar15 = (type_1 *)(*(type_11 *)PTR___assert_fail_003a9608)
                                 (var_3 + 0xda0,var_4 + -0xe40,0x121,
                                  var_4 + -0xc60);
    return pIVar15;
  }
  if (var_2->debug != var_5) {
    (*(type_11 *)PTR_LogMagickEvent_003a91e0)
              (0x8000,var_4 + -0xe40,var_4 + -0xc70,0x123,
               var_6 + -0x62ac,var_2->filename);
  }
  if (var_7 == (type_3 *)0x0) {
    pIVar15 = (type_1 *)(*(type_11 *)PTR___assert_fail_003a9608)
                                 (var_3 + 0x1cac,var_4 + -0xe40,0x125,
                                  var_4 + -0xc60);
    return pIVar15;
  }
  if (var_7->signature != 0xabacadab) {
    pIVar15 = (type_1 *)(*(type_11 *)PTR___assert_fail_003a9608)
                                 (var_3 + 0x294c,var_4 + -0xe40,0x126,
                                  var_4 + -0xc60);
    return pIVar15;
  }
  var_21 = (*(type_11 *)PTR_AcquireImage_003a960c)(var_2,var_7);
  var_8 = (*(type_11 *)PTR_OpenBlob_003a924c)(var_2,var_21,2,var_7);
  var_14 = var_4;
  var_9 = var_3;
  if (var_8 == 0) {
    (*(type_11 *)PTR_DestroyImageList_003a9510)(var_21);
    pIVar15 = (type_1 *)0x0;
    var_28 = var_29;
  }
  else {
    var_41 = var_4;
    var_30 = var_3;
    var_40 = var_4;
    (*(type_11 *)PTR_memset_003a96d4)(&fits_info,0,0x48);
    fits_info.scale = *(double *)(var_9 + 0x1438);
    fits_info.bits_per_pixel = 8;
    fits_info.columns = 1;
    fits_info.rows = 1;
    fits_info.number_planes = 1;
    var_9 = var_4 + -0xe20;
    puVar27 = var_6 + 0x544;
    fits_info.endian = MSBEndian;
    puVar28 = var_4 + -0xe30;
    local_1160 = var_1(var_9,local_1160._4_4_);
    var_16 = (char *)0x0;
    var_11 = var_4;
    do {
      var_10 = (*(type_11 *)PTR_EOFBlob_003a9748)(var_21);
      if (var_10 != 0) {
LAB_00224bd4:
        var_19 = (type_13)fits_info.columns * (type_13)fits_info.rows;
        var_22 = fits_info.simple;
        var_10 = fits_info.columns;
        var_20 = fits_info.rows;
        break;
      }
      var_11 = (type_6 *)(*(type_11 *)PTR_EOFBlob_003a9748)(var_21);
      while (var_11 == (type_6 *)0x0) {
        var_10 = (*(type_11 *)PTR_ReadBlob_003a8dac)(var_21,8,keyword);
        if (var_10 != 8) break;
        piVar10 = (int *)(*(type_11 *)PTR___ctype_b_loc_003a9434)();
        var_12 = (type_7 *)keyword;
        do {
          if ((*(type_16 *)(*piVar10 + (type_9)*var_12 * 2) & 0x20) != 0) break;
          var_11 = var_11 + 1;
          bVar19 = (*(type_11 *)PTR_LocaleLowercase_003a9684)();
          *var_12 = bVar19;
          var_12 = var_12 + 1;
        } while (var_11 != &DAT_00000008);
        var_12 = (type_7 *)var_13;
        keyword[(int)var_11] = '\0';
        var_10 = (*(type_11 *)PTR_ReadBlob_003a8dac)(var_21,0x48,var_12);
        var_13[0x48] = '\0';
        if (var_10 != 0x48) break;
        if (var_13[0] == '=') {
          var_12 = (type_7 *)(var_13 + 2);
          while ((*(type_16 *)(*piVar10 + (type_9)*var_12 * 2) & 0x20) != 0) {
            var_12 = var_12 + 1;
          }
        }
        var_10 = (*(type_11 *)PTR_LocaleCompare_003a9110)(keyword,puVar27);
        if (var_10 == 0) break;
        var_10 = (*(type_11 *)PTR_LocaleCompare_003a9110)(keyword,puVar28);
        if (var_10 == 0) {
          fits_info.extend = (type_8)((*var_12 & 0xdf) == 0x54);
        }
        var_10 = (*(type_11 *)PTR_LocaleCompare_003a9110)(keyword,var_14 + -0xe28);
        if (var_10 == 0) {
          fits_info.simple = (type_8)((*var_12 & 0xdf) == 0x54);
        }
        var_10 = (*(type_11 *)PTR_LocaleCompare_003a9110)(keyword,var_9);
        if (var_10 == 0) {
          fits_info.bits_per_pixel = (*(type_11 *)PTR_strtol_003a954c)(var_12,0,10);
        }
        var_10 = (*(type_11 *)PTR_LocaleCompare_003a9110)(keyword,var_14 + -0xe18);
        if (var_10 == 0) {
          fits_info.number_axes = (*(type_11 *)PTR_strtol_003a954c)(var_12,0,10);
        }
        var_10 = (*(type_11 *)PTR_LocaleCompare_003a9110)(keyword,var_4 + -0xe10);
        if (var_10 == 0) {
          fits_info.columns = (*(type_11 *)PTR_strtol_003a954c)(var_12,0,10);
        }
        var_10 = (*(type_11 *)PTR_LocaleCompare_003a9110)(keyword,var_4 + -0xe08);
        if (var_10 == 0) {
          fits_info.rows = (*(type_11 *)PTR_strtol_003a954c)(var_12,0,10);
        }
        var_10 = (*(type_11 *)PTR_LocaleCompare_003a9110)(keyword,var_4 + -0xe00);
        if (var_10 == 0) {
          fits_info.number_planes = (*(type_11 *)PTR_strtol_003a954c)(var_12,0,10);
        }
        var_10 = (*(type_11 *)PTR_LocaleCompare_003a9110)(keyword,var_4 + -0xdf8);
        if (var_10 == 0) {
          fits_info.max_data = (double)(*(type_11 *)PTR_InterpretLocaleValue_003a9768)(var_12,0);
        }
        var_10 = (*(type_11 *)PTR_LocaleCompare_003a9110)(keyword,var_4 + -0xdf0);
        if (var_10 == 0) {
          fits_info.min_data = (double)(*(type_11 *)PTR_InterpretLocaleValue_003a9768)(var_12,0);
        }
        var_10 = (*(type_11 *)PTR_LocaleCompare_003a9110)(keyword,var_4 + -0xde8);
        if (var_10 == 0) {
          fits_info.zero = (double)(*(type_11 *)PTR_InterpretLocaleValue_003a9768)(var_12,0);
        }
        var_10 = (*(type_11 *)PTR_LocaleCompare_003a9110)(keyword,var_4 + -0xde0);
        if (var_10 == 0) {
          fits_info.scale = (double)(*(type_11 *)PTR_InterpretLocaleValue_003a9768)(var_12,0);
        }
        var_10 = (*(type_11 *)PTR_LocaleCompare_003a9110)
                          (keyword,var_15 + -0x1928);
        if (var_10 == 0) {
          if (var_16 == (char *)0x0) {
            var_16 = (char *)(*(type_11 *)PTR_ConstantString_003a90b4)(var_12);
          }
          else {
            (*(type_11 *)PTR_ConcatenateString_003a93a8)(&var_16,var_12);
          }
        }
        var_10 = (*(type_11 *)PTR_LocaleCompare_003a9110)(keyword,var_4 + -0xdd8);
        if (var_10 == 0) {
          var_10 = (*(type_11 *)PTR_LocaleNCompare_003a961c)(var_12,var_4 + -0xdd0,3);
          if (var_10 == 0) {
            fits_info.endian = MSBEndian;
          }
          else {
            fits_info.endian = LSBEndian;
          }
        }
        (*(type_11 *)PTR_FormatLocaleString_003a8d7c)
                  (property,0x1000,var_4 + -0xdcc,keyword);
        (*(type_11 *)PTR_SetImageProperty_003a9534)(var_21,property,var_12,var_7);
        var_11 = (type_6 *)(*(type_11 *)PTR_EOFBlob_003a9748)(var_21);
      }
      var_10 = 0;
      while( true ) {
        uVar34 = (*(type_11 *)PTR_TellBlob_003a931c)(var_21);
        var_17 = (*(type_11 *)PTR___moddi3_003a8a78)
                           ((int)((type_4)uVar34 >> 0x20),(int)uVar34,0,0xb40);
        if ((var_17 == 0) || (var_10 == -1)) break;
        var_10 = (*(type_11 *)PTR_ReadBlobByte_003a97f0)(var_21);
      }
      if (fits_info.extend == var_5) goto LAB_00224bd4;
      if (fits_info.bits_per_pixel - 8U < 0x19) {
        if (-1 < (int)((0x1000101U >> (fits_info.bits_per_pixel - 8U & 0x1f)) << 0x1f))
        goto LAB_002245cc;
      }
      else if (fits_info.bits_per_pixel != 0x40) {
LAB_002245cc:
        if ((fits_info.bits_per_pixel & 0xffffffdfU) != 0xffffffc0) {
          if (var_16 != (char *)0x0) {
            var_16 = (char *)(*(type_11 *)PTR_DestroyString_003a9074)();
          }
          uVar24 = 400;
          var_9 = var_18 + -400;
          goto LAB_00224c3c;
        }
      }
    } while (((fits_info.simple == var_5) || (3 < fits_info.number_axes - 1U)) ||
            (var_19 = (type_13)fits_info.columns * (type_13)fits_info.rows,
            var_22 = fits_info.simple, var_10 = fits_info.columns, var_20 = fits_info.rows,
            var_19 == 0));
    local_1144 = var_20;
    local_1148 = var_10;
    fits_info.simple = var_22;
    fits_info.columns = local_1148;
    fits_info.rows = local_1144;
    if (var_16 != (char *)0x0) {
      (*(type_11 *)PTR_SetImageProperty_003a9534)
                (var_21,var_15 + -0x1928,var_16,var_7);
      var_16 = (char *)(*(type_11 *)PTR_DestroyString_003a9074)(var_16);
    }
    var_10 = (int)var_19;
    var_17 = var_1(var_10,var_11);
    var_20 = (*(type_11 *)PTR_EOFBlob_003a9748)(var_21);
    if (var_20 != 0) {
      puVar17 = (type_10 *)(*(type_11 *)PTR___errno_location_003a99b0)();
      uVar24 = (*(type_11 *)PTR_GetExceptionMessage_003a93ec)(*puVar17);
      (*(type_11 *)PTR_ThrowMagickException_003a8f20)
                (var_7,var_4 + -0xe40,var_4 + -0xc70,0x1a1,0x1a9,
                 var_18 + -0x17c,var_3 + 0xe78,var_21 + 0x340,uVar24);
      (*(type_11 *)PTR_DestroyString_003a9074)(uVar24);
    }
    if (((var_22 != var_5) && (fits_info.number_axes - 1U < 4)) && (var_19 != 0)) {
      var_39 = (type_5 *)fits_info.number_planes;
      if (0 < fits_info.number_planes) {
        var_40 = (type_5 *)0x0;
        var_41 = (type_5 *)fits_info.bits_per_pixel;
        local_1124 = fits_info.endian;
        var_10 = fits_info.bits_per_pixel;
        if (0x40 < (type_9)fits_info.bits_per_pixel) {
          var_10 = 0;
        }
        var_20 = -1;
        if (-1 < fits_info.bits_per_pixel) {
          var_20 = 1;
        }
        var_23 = var_10 - 1;
        local_1118 = *(double *)(var_3 + 0x1a78);
        var_32 = *(double *)(var_3 + 0x13f8);
        var_35 = *(double *)(var_3 + 0x1a58);
        uVar23 = 2 << (var_23 & 0x1f);
        local_1128 = var_20 * fits_info.bits_per_pixel;
        var_24 = uVar23;
        var_26 = 1 >> (~var_23 & 0x1f);
        if ((var_23 & 0x20) != 0) {
          var_24 = 0;
          var_26 = uVar23;
        }
        local_112c = var_15 + -0x2dd0;
        var_25 = var_24 - 1;
        local_1120 = (type_9)(var_25 < var_24) + (var_26 - 1);
        goto LAB_00224900;
      }
      (*(type_11 *)PTR_CloseBlob_003a9688)(var_21);
      goto LAB_00224e60;
    }
    uVar24 = 0x1a5;
    var_9 = var_4 + -0x2c10;
LAB_00224c3c:
    var_17 = var_1(var_10,var_11);
    (*(type_11 *)PTR_ThrowMagickException_003a8f20)
              (var_7,var_4 + -0xe40,var_4 + -0xc70,uVar24,0x1a9,var_9,
               var_3 + 0x3e28,var_2->filename);
    if (var_21 != 0) {
      (*(type_11 *)PTR_CloseBlob_003a9688)(var_21);
      (*(type_11 *)PTR_DestroyImageList_003a9510)(var_21);
    }
    pIVar15 = (type_1 *)0x0;
    var_28 = var_29;
  }
LAB_00224c7c:
  uVar2 = (type_4)var_17 >> 0x20;
  if (var_27 == *(int *)puVar4) {
    return pIVar15;
  }
  uVar24 = (*(type_11 *)PTR___stack_chk_fail_003a9064)();
  var_17 = var_1(uVar24,(int)var_17);
  uVar24 = (int)uVar2;
LAB_002252f8:
  uVar2 = (type_4)var_17 >> 0x20;
  var_17 = var_1(uVar24,(int)var_17);
  var_29 = var_28;
  if (((int)uVar2 == 0) && (bVar1 = 1 < local_1160._4_4_, bVar1)) goto LAB_00225060;
LAB_0022511c:
  (*(type_11 *)PTR_SeekBlob_003a9328)(var_21);
  var_34 = fits_info.max_data;
LAB_002249f4:
  fits_info.max_data = var_34;
  var_28 = var_28 - var_29;
  do {
    var_10 = (int)((type_4)var_17 >> 0x20);
    var_31 = (type_9)((type_4)var_28 >> 0x20);
    if (0.0 <= var_28) {
      var_34 = *(double *)(var_30 + 0x1438);
    }
    else {
      var_31 = var_31 ^ 0x80000000;
      var_34 = local_1118;
    }
    if (var_32 <= (double)var_1(var_31,var_33(var_28,0))) {
      var_34 = *(double *)(var_30 + 0x1438) / var_28;
    }
    else {
      var_34 = var_34 / var_32;
    }
    var_26 = *(int *)(var_21 + 0x1c) - 1;
    var_34 = var_34 * var_35;
    if (-1 < (int)var_26) {
      local_1160 = var_1((int)var_26 >> 0x1f,local_1160._4_4_);
      var_24 = var_26;
      while( true ) {
        var_17 = var_1(var_10,&var_36);
        var_20 = (*(type_11 *)PTR_QueueAuthenticPixels_003a8f24)
                           (var_21,0,var_26,*(type_10 *)(var_21 + 0x18),1,var_7);
        if (var_20 == 0) break;
        if (0 < *(int *)(var_21 + 0x18)) {
          var_10 = 0;
          var_23 = *(type_9 *)(var_21 + 0x20);
          var_28 = fits_info.zero;
          var_37 = fits_info.scale;
          do {
            var_23 = var_23 >> 3;
            if (var_23 == 2) {
              sVar18 = (*(type_11 *)PTR_ReadBlobShort_003a8d80)(var_21);
              var_36 = (double)(int)sVar18;
LAB_00224ae8:
              var_23 = *(type_9 *)(var_21 + 0x20);
              if (var_23 == 0x10) goto LAB_00224b8c;
LAB_00224af8:
              if ((var_23 == 0x20) || (var_23 == 0x40)) goto LAB_00224b8c;
            }
            else {
              if (2 < var_23) {
                if (var_23 == 4) {
                  pcVar29 = (type_11 *)PTR_ReadBlobSignedLong_003a968c;
                  if (0 < (int)var_41) goto LAB_00224b68;
                  fVar31 = (float)(*(type_11 *)PTR_ReadBlobFloat_003a8e98)(var_21);
                  var_36 = (double)fVar31;
                }
                else {
                  if ((var_23 != 8) || ((int)var_41 < 1)) goto LAB_00224ad8;
                  uVar34 = (*(type_11 *)PTR_ReadBlobLongLong_003a97a0)(var_21);
                  var_36 = (double)(*(type_11 *)PTR___floatdidf_003a8a60)
                                            ((int)((type_4)uVar34 >> 0x20),(int)uVar34);
                }
                goto LAB_00224ae8;
              }
              pcVar29 = (type_11 *)PTR_ReadBlobByte_003a97f0;
              if (var_23 != 1) {
LAB_00224ad8:
                var_36 = (double)(*(type_11 *)PTR_ReadBlobDouble_003a8c38)(var_21);
                goto LAB_00224ae8;
              }
LAB_00224b68:
              var_38 = (*pcVar29)(var_21);
              var_23 = *(type_9 *)(var_21 + 0x20);
              var_36 = (double)var_38;
              if (var_23 != 0x10) goto LAB_00224af8;
LAB_00224b8c:
              pdVar22 = &var_36;
              if (*(int *)(var_21 + 0x25c) != 2) {
                pdVar22 = (double *)((int)&var_36 + ((var_23 >> 3) - 1));
              }
              *(type_7 *)pdVar22 = *(type_7 *)pdVar22 ^ 0x80;
            }
            var_10 = var_10 + 1;
            var_38 = *(int *)(var_21 + 0x18);
            pfVar21 = (float *)(var_20 + *(int *)(*(int *)(var_21 + 0x2d0) + 8) * 4);
            var_20 = var_20 + *(int *)(var_21 + 0x2c0) * 4;
            *pfVar21 = (float)(((var_36 - var_29) * var_37 + var_28) * var_34);
          } while (var_10 < var_38);
        }
        var_17 = var_1(var_10,&var_36);
        var_20 = (*(type_11 *)PTR_SyncAuthenticPixels_003a91e4)(var_21,var_7);
        if ((var_20 == 0) ||
           ((*(int *)(var_21 + 0x3364) == 0 &&
            (var_8 = (*(type_11 *)PTR_SetImageProgress_003a8cb4)
                                    (var_21,local_112c,local_1160._0_4_,var_24,0,
                                     *(type_10 *)(var_21 + 0x1c)), var_17 = var_1(var_10,&var_36)
            , var_8 == 0)))) break;
        var_26 = var_26 - 1;
        var_10 = local_1160._0_4_ + -1;
        var_17 = var_1(var_10,&var_36);
        local_1160 = var_1((type_9)(var_24 - 1 < var_24) + var_10,local_1160._4_4_);
        var_24 = var_24 - 1;
        if (var_26 == 0xffffffff) break;
      }
    }
    var_10 = (*(type_11 *)PTR_EOFBlob_003a9748)(var_21);
    if (var_10 != 0) {
      puVar17 = (type_10 *)(*(type_11 *)PTR___errno_location_003a99b0)();
      uVar24 = (*(type_11 *)PTR_GetExceptionMessage_003a93ec)(*puVar17);
      (*(type_11 *)PTR_ThrowMagickException_003a8f20)
                (var_7,var_4 + -0xe40,var_4 + -0xc70,0x1e6,0x1a9,
                 var_18 + -0x17c,var_3 + 0xe78,var_21 + 0x340,uVar24);
      (*(type_11 *)PTR_DestroyString_003a9074)(uVar24);
LAB_00224e4c:
      (*(type_11 *)PTR_CloseBlob_003a9688)(var_21);
      if (var_8 == 0) {
LAB_00224fc0:
        pIVar15 = (type_1 *)(*(type_11 *)PTR_DestroyImageList_003a9510)(var_21);
        var_28 = var_29;
      }
      else {
LAB_00224e60:
        pIVar15 = (type_1 *)(*(type_11 *)PTR_GetFirstImageInList_003a944c)(var_21);
        var_28 = var_29;
      }
      goto LAB_00224c7c;
    }
    if ((var_2->number_scenes != 0) &&
       ((var_2->number_scenes + var_2->scene) - 1 <= *(type_9 *)(var_21 + 0x26c)))
    goto LAB_00224e4c;
    if ((int)var_40 < (int)(var_39 + -1)) {
      (*(type_11 *)PTR_AcquireNextImage_003a8f90)(var_2,var_21,var_7);
      var_10 = (*(type_11 *)PTR_GetNextImageInList_003a9470)(var_21);
      if (var_10 != 0) {
        var_21 = (*(type_11 *)PTR_SyncNextImageInList_003a9408)(var_21);
        uVar34 = (*(type_11 *)PTR_TellBlob_003a931c)(var_21);
        uVar36 = (*(type_11 *)PTR_GetBlobSize_003a94b8)(var_21);
        var_8 = (*(type_11 *)PTR_SetImageProgress_003a8cb4)
                               (var_21,var_18 + -0x168,
                                (int)((type_4)uVar34 >> 0x20),(int)uVar34,uVar36);
        if (var_8 != 0) goto LAB_00224e34;
      }
      (*(type_11 *)PTR_CloseBlob_003a9688)(var_21);
      goto LAB_00224fc0;
    }
LAB_00224e34:
    var_40 = var_40 + 1;
    if (var_40 == var_39) goto LAB_00224e4c;
LAB_00224900:
    var_22 = var_2->ping;
    *(int *)(var_21 + 0x18) = local_1148;
    *(int *)(var_21 + 0x1c) = local_1144;
    *(int *)(var_21 + 0x20) = local_1128;
    *(type_14 *)(var_21 + 0x25c) = local_1124;
    *(type_5 **)(var_21 + 0x26c) = var_40;
    if (((var_22 != var_5) && (var_2->number_scenes != 0)) &&
       ((type_5 *)(var_2->number_scenes + var_2->scene + -1) <= var_40))
    goto LAB_00224e4c;
    var_8 = (*(type_11 *)PTR_SetImageExtent_003a94ac)(var_21,local_1148,local_1144,var_7);
    if (var_8 == 0) goto LAB_00224fc0;
    (*(type_11 *)PTR_SetImageColorspace_003a8d40)(var_21,3,var_7);
    var_29 = fits_info.min_data;
    if ((fits_info.min_data != 0.0) || (fits_info.max_data != 0.0)) {
      if (var_41 != (type_5 *)0x0) goto LAB_002249dc;
      var_28 = 0.0;
      var_34 = var_28;
      goto LAB_002249f4;
    }
    if (((type_9)var_41 & 0xffffffdf) != 0xffffffc0) break;
    var_28 = fits_info.max_data;
    var_19 = (*(type_11 *)PTR_TellBlob_003a931c)(var_21);
    if (var_19 != -1) {
      var_17 = (type_4)*(type_9 *)(var_21 + 0x18) * (type_4)*(type_9 *)(var_21 + 0x1c);
      var_26 = *(type_9 *)(var_21 + 0x20) >> 3;
      if (var_26 == 2) {
        sVar18 = (*(type_11 *)PTR_ReadBlobShort_003a8d80)(var_21);
        var_28 = (double)(int)sVar18;
      }
      else if (var_26 == 4) {
        fVar31 = (float)(*(type_11 *)PTR_ReadBlobFloat_003a8e98)(var_21);
        var_28 = (double)fVar31;
      }
      else if (var_26 == 1) {
        var_10 = (*(type_11 *)PTR_ReadBlobByte_003a97f0)(var_21);
        var_28 = (double)var_10;
      }
      else {
        var_28 = (double)(*(type_11 *)PTR_ReadBlobDouble_003a8c38)(var_21);
      }
      local_1160._0_4_ = (int)((type_4)var_17 >> 0x20);
      uVar24 = local_1160._0_4_;
      local_1160 = var_17;
      fits_info.min_data = var_28;
      fits_info.max_data = var_28;
      if (0xffffffff < var_17) goto LAB_00225060;
      goto LAB_002252f8;
    }
    var_28 = var_28 - var_29;
  } while( true );
  var_28 = 0.0;
  var_34 = var_28;
  if (var_41 != (type_5 *)0x0) {
LAB_002249dc:
    var_28 = (double)(*(type_11 *)PTR___floatdidf_003a8a60)(local_1120,var_25);
    var_34 = var_28;
  }
  goto LAB_002249f4;
LAB_00225060:
  var_10 = 0;
  var_26 = 1;
  var_34 = var_28;
  var_37 = var_28;
  do {
    var_24 = *(type_9 *)(var_21 + 0x20) >> 3;
    if (var_24 == 2) {
      sVar18 = (*(type_11 *)PTR_ReadBlobShort_003a8d80)(var_21);
      var_28 = (double)(int)sVar18;
    }
    else if (var_24 == 4) {
      fVar31 = (float)(*(type_11 *)PTR_ReadBlobFloat_003a8e98)(var_21);
      var_28 = (double)fVar31;
    }
    else if (var_24 == 1) {
      var_20 = (*(type_11 *)PTR_ReadBlobByte_003a97f0)(var_21);
      var_28 = (double)var_20;
    }
    else {
      var_28 = (double)(*(type_11 *)PTR_ReadBlobDouble_003a8c38)(var_21);
    }
    dVar5 = var_28;
    if (var_37 <= var_28) {
      dVar5 = fits_info.min_data;
    }
    fits_info.min_data = dVar5;
    var_24 = var_26 + 1;
    var_37 = var_28;
    if (var_28 <= var_34) {
      var_28 = var_34;
      var_37 = fits_info.max_data;
    }
    fits_info.max_data = var_37;
    var_10 = (type_9)(var_24 < var_26) + var_10;
    var_26 = var_24;
    var_34 = var_28;
    var_37 = fits_info.min_data;
    var_29 = fits_info.min_data;
  } while (var_17 != var_1(var_10,var_24));
  goto LAB_0022511c;
}


(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)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) 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: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (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))))) (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 (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) (return_statement (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) (return_statement (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (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) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (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 (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) (return_statement (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) (return_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) (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) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (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 (pointer_expression argument: (identifier)) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_array_declarator size: (number_literal))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (break_statement))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) body: (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) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) 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))))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier)) right: (number_literal)))))) right: (number_literal))) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier)) right: (number_literal)))))) right: (number_literal))) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (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: (break_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) (identifier))))) (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 (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (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 (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (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: (type_identifier) declarator: (abstract_pointer_declarator)) 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) (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 (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) (number_literal) (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 (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) (number_literal) (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 (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) (number_literal) (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 (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (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 (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: (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: (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: (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: (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: (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: (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: (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 (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_array_declarator size: (number_literal))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (call_expression function: (parenthesized_expression (subscript_expression argument: (identifier) index: (number_literal))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) arguments: (argument_list (identifier)))))) 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) (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)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (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) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (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) (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (number_literal))) (while_statement condition: (parenthesized_expression (true)) body: (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))))) (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 (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)))) (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) (number_literal) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (break_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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))))) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_array_declarator size: (number_literal))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (call_expression function: (parenthesized_expression (subscript_expression argument: (identifier) index: (number_literal))) arguments: (argument_list (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))))))))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_array_declarator size: (number_literal))) value: (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) (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (call_expression function: (parenthesized_expression (subscript_expression argument: (identifier) index: (number_literal))) arguments: (argument_list (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (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: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (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)) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_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)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (goto_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 (identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (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) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (identifier) (number_literal) (identifier) (binary_expression left: (identifier) right: (number_literal)) (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)))) (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))))) (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: (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 (identifier) (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (field_expression argument: (identifier) field: (field_identifier)))) right: (identifier))))) consequence: (goto_statement label: (statement_identifier))) (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 (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (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) (number_literal) (identifier) (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))))) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) 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))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (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) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (goto_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)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) consequence: (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))))) (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 (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)))) (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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))))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (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: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (identifier)) right: (identifier))) right: (identifier))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (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) (identifier) (field_expression argument: (identifier) field: (field_identifier)) (identifier) (number_literal) (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: (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier))))) right: (binary_expression left: (identifier) right: (number_literal)))))))))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))) right: (identifier)) (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) 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))))) (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 (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (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)) (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) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_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)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (labeled_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)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) right: (number_literal)) right: (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: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (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) (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: (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))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (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: (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)) (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)))) (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_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 (identifier)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) 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: (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: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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 (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal)))) right: (identifier))))) consequence: (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) (identifier) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_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 (identifier) (number_literal) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (parenthesized_expression (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (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))))) (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)))))) alternative: (else_clause (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: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) alternative: (else_clause (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))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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))))))))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) condition: (parenthesized_expression (true))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (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) (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) alternative: (else_clause (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: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) alternative: (else_clause (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))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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))))))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_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: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (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: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (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)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (goto_statement label: (statement_identifier)))))

undefined4 MASKED(int param_1,int param_2)

{
  bool bVar1;
  ulonglong uVar2;
  undefined *puVar3;
  undefined *puVar4;
  double dVar5;
  int iVar6;
  int iVar7;
  undefined1 *puVar8;
  int *piVar9;
  byte bVar16;
  int iVar10;
  uint uVar11;
  int iVar12;
  uint uVar13;
  short sVar15;
  undefined4 *puVar14;
  undefined *puVar17;
  float *pfVar18;
  double *pdVar19;
  undefined4 uVar20;
  byte *pbVar21;
  uint uVar22;
  undefined4 unaff_s3;
  undefined *puVar23;
  undefined4 unaff_s5;
  undefined *puVar24;
  code *pcVar25;
  double dVar26;
  float fVar27;
  double dVar28;
  double in_f22_23;
  double dVar29;
  double in_f28_29;
  double in_f30_31;
  undefined8 uVar30;
  longlong lVar31;
  undefined8 uVar32;
  longlong lVar33;
  undefined8 local_1160;
  undefined1 *local_1158;
  undefined *local_1154;
  int local_114c;
  int local_1148;
  int local_1144;
  uint local_1140;
  undefined *local_1138;
  undefined *local_1134;
  undefined *local_112c;
  int local_1128;
  undefined4 local_1124;
  int local_1120;
  uint local_111c;
  double local_1118;
  undefined1 local_110c [4];
  double local_1108;
  uint local_1100;
  uint local_10fc;
  undefined1 *local_10f8;
  int local_10f4;
  int local_10f0;
  int local_10ec;
  undefined *local_10e8;
  double local_10e0;
  double local_10d8;
  double local_10d0;
  double local_10c8;
  undefined4 local_10c0;
  byte local_10b4 [12];
  byte local_10a8 [2];
  byte local_10a6 [70];
  undefined1 local_1060;
  undefined1 auStack_105c [4096];
  int local_5c;
  
  puVar4 = PTR___stack_chk_guard_003a9230;
  lVar31 = CONCAT44(unaff_s3,unaff_s5);
  local_5c = *(int *)PTR___stack_chk_guard_003a9230;
  if (param_1 == 0) {
    uVar20 = (*(code *)PTR___assert_fail_003a9608)
                       (PTR_LAB_003a88e0 + 0xd78,PTR_UINT_003a8950 + -0xe40,0x120,
                        PTR_UINT_003a8950 + -0xc60);
    return uVar20;
  }
  if (*(int *)(param_1 + 0x3214) != -0x54535255) {
    uVar20 = (*(code *)PTR___assert_fail_003a9608)
                       (PTR_LAB_003a88e0 + 0xda0,PTR_UINT_003a8950 + -0xe40,0x121,
                        PTR_UINT_003a8950 + -0xc60);
    return uVar20;
  }
  if (*(int *)(param_1 + 0x3210) != 0) {
    (*(code *)PTR_LogMagickEvent_003a91e0)
              (0x8000,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x123,
               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);
  }
  if (param_2 == 0) {
    uVar20 = (*(code *)PTR___assert_fail_003a9608)
                       (PTR_LAB_003a88e0 + 0x1cac,PTR_UINT_003a8950 + -0xe40,0x125,
                        PTR_UINT_003a8950 + -0xc60);
    return uVar20;
  }
  if (*(int *)(param_2 + 0x1c) != -0x54535255) {
    uVar20 = (*(code *)PTR___assert_fail_003a9608)
                       (PTR_LAB_003a88e0 + 0x294c,PTR_UINT_003a8950 + -0xe40,0x126,
                        PTR_UINT_003a8950 + -0xc60);
    return uVar20;
  }
  iVar6 = (*(code *)PTR_AcquireImage_003a960c)(param_1,param_2);
  local_114c = (*(code *)PTR_OpenBlob_003a924c)(param_1,iVar6,2,param_2);
  puVar3 = PTR_UINT_003a8950;
  puVar17 = PTR_LAB_003a88e0;
  if (local_114c == 0) {
    (*(code *)PTR_DestroyImageList_003a9510)(iVar6);
    uVar20 = 0;
    dVar26 = in_f22_23;
  }
  else {
    local_1158 = PTR_UINT_003a8950;
    local_1134 = PTR_LAB_003a88e0;
    local_1154 = PTR_UINT_003a8950;
    (*(code *)PTR_memset_003a96d4)(&local_1100,0,0x48);
    local_10c8 = *(double *)(puVar17 + 0x1438);
    local_10f8 = &DAT_00000008;
    local_10f4 = 1;
    local_10f0 = 1;
    local_10e8 = (undefined *)0x1;
    puVar17 = PTR_UINT_003a8950 + -0xe20;
    puVar23 = PTR_s_t_to_left_003a88e4 + 0x544;
    local_10c0 = 2;
    puVar24 = PTR_UINT_003a8950 + -0xe30;
    local_1160 = CONCAT44(puVar17,local_1160._4_4_);
    local_110c = (undefined1  [4])0x0;
    puVar8 = PTR_UINT_003a8950;
    do {
      iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);
      if (iVar7 != 0) {
LAB_00224bd4:
        lVar33 = (longlong)local_10f4 * (longlong)local_10f0;
        uVar22 = local_10fc;
        iVar7 = local_10f4;
        iVar10 = local_10f0;
        break;
      }
      puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);
      while (puVar8 == (undefined1 *)0x0) {
        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,8,local_10b4);
        if (iVar7 != 8) break;
        piVar9 = (int *)(*(code *)PTR___ctype_b_loc_003a9434)();
        pbVar21 = local_10b4;
        do {
          if ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) break;
          puVar8 = puVar8 + 1;
          bVar16 = (*(code *)PTR_LocaleLowercase_003a9684)();
          *pbVar21 = bVar16;
          pbVar21 = pbVar21 + 1;
        } while (puVar8 != &DAT_00000008);
        pbVar21 = local_10a8;
        local_10b4[(int)puVar8] = 0;
        iVar7 = (*(code *)PTR_ReadBlob_003a8dac)(iVar6,0x48,pbVar21);
        local_1060 = 0;
        if (iVar7 != 0x48) break;
        if (local_10a8[0] == 0x3d) {
          pbVar21 = local_10a6;
          while ((*(ushort *)(*piVar9 + (uint)*pbVar21 * 2) & 0x20) != 0) {
            pbVar21 = pbVar21 + 1;
          }
        }
        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar23);
        if (iVar7 == 0) break;
        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar24);
        if (iVar7 == 0) {
          local_1100 = (uint)((*pbVar21 & 0xdf) == 0x54);
        }
        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe28);
        if (iVar7 == 0) {
          local_10fc = (uint)((*pbVar21 & 0xdf) == 0x54);
        }
        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar17);
        if (iVar7 == 0) {
          local_10f8 = (undefined1 *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);
        }
        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,puVar3 + -0xe18);
        if (iVar7 == 0) {
          local_10ec = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);
        }
        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe10);
        if (iVar7 == 0) {
          local_10f4 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);
        }
        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe08);
        if (iVar7 == 0) {
          local_10f0 = (*(code *)PTR_strtol_003a954c)(pbVar21,0,10);
        }
        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xe00);
        if (iVar7 == 0) {
          local_10e8 = (undefined *)(*(code *)PTR_strtol_003a954c)(pbVar21,0,10);
        }
        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf8);
        if (iVar7 == 0) {
          local_10d8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);
        }
        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdf0);
        if (iVar7 == 0) {
          local_10e0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);
        }
        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde8);
        if (iVar7 == 0) {
          local_10d0 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);
        }
        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xde0);
        if (iVar7 == 0) {
          local_10c8 = (double)(*(code *)PTR_InterpretLocaleValue_003a9768)(pbVar21,0);
        }
        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)
                          (local_10b4,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);
        if (iVar7 == 0) {
          if (local_110c == (undefined1  [4])0x0) {
            local_110c = (undefined1  [4])(*(code *)PTR_ConstantString_003a90b4)(pbVar21);
          }
          else {
            (*(code *)PTR_ConcatenateString_003a93a8)(local_110c,pbVar21);
          }
        }
        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(local_10b4,PTR_UINT_003a8950 + -0xdd8);
        if (iVar7 == 0) {
          iVar7 = (*(code *)PTR_LocaleNCompare_003a961c)(pbVar21,PTR_UINT_003a8950 + -0xdd0,3);
          if (iVar7 == 0) {
            local_10c0 = 2;
          }
          else {
            local_10c0 = 1;
          }
        }
        (*(code *)PTR_FormatLocaleString_003a8d7c)
                  (auStack_105c,0x1000,PTR_UINT_003a8950 + -0xdcc,local_10b4);
        (*(code *)PTR_SetImageProperty_003a9534)(iVar6,auStack_105c,pbVar21,param_2);
        puVar8 = (undefined1 *)(*(code *)PTR_EOFBlob_003a9748)(iVar6);
      }
      iVar7 = 0;
      while( true ) {
        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);
        lVar31 = (*(code *)PTR_FUN_003a8a78)((int)((ulonglong)uVar30 >> 0x20),(int)uVar30,0,0xb40);
        if ((lVar31 == 0) || (iVar7 == -1)) break;
        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);
      }
      if (local_1100 == 0) goto LAB_00224bd4;
      if (local_10f8 + -8 < &DAT_00000019) {
        if (-1 < (int)((0x1000101U >> ((uint)(local_10f8 + -8) & 0x1f)) << 0x1f)) goto LAB_002245cc;
      }
      else if (local_10f8 != (undefined1 *)0x40) {
LAB_002245cc:
        if (((uint)local_10f8 & 0xffffffdf) != 0xffffffc0) {
          if (local_110c != (undefined1  [4])0x0) {
            local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)();
          }
          uVar20 = 400;
          puVar17 = PTR_s_courses_003a88ec + -400;
          goto LAB_00224c3c;
        }
      }
    } while (((local_10fc == 0) || (3 < local_10ec - 1U)) ||
            (lVar33 = (longlong)local_10f4 * (longlong)local_10f0, uVar22 = local_10fc,
            iVar7 = local_10f4, iVar10 = local_10f0, lVar33 == 0));
    local_1144 = iVar10;
    local_1148 = iVar7;
    local_10fc = uVar22;
    local_10f4 = local_1148;
    local_10f0 = local_1144;
    if (local_110c != (undefined1  [4])0x0) {
      (*(code *)PTR_SetImageProperty_003a9534)
                (iVar6,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928,local_110c,param_2)
      ;
      local_110c = (undefined1  [4])(*(code *)PTR_DestroyString_003a9074)(local_110c);
    }
    iVar7 = (int)lVar33;
    lVar31 = CONCAT44(iVar7,puVar8);
    iVar10 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);
    if (iVar10 != 0) {
      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();
      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);
      (*(code *)PTR_ThrowMagickException_003a8f20)
                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1a1,0x1a9,
                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);
      (*(code *)PTR_DestroyString_003a9074)(uVar20);
    }
    if (((uVar22 != 0) && (local_10ec - 1U < 4)) && (lVar33 != 0)) {
      local_1138 = local_10e8;
      if (0 < (int)local_10e8) {
        local_1154 = (undefined *)0x0;
        local_1158 = local_10f8;
        local_1124 = local_10c0;
        puVar8 = local_10f8;
        if ((undefined1 *)0x40 < local_10f8) {
          puVar8 = (undefined1 *)0x0;
        }
        iVar7 = -1;
        if (-1 < (int)local_10f8) {
          iVar7 = 1;
        }
        puVar8 = puVar8 + -1;
        local_1118 = *(double *)(PTR_LAB_003a88e0 + 0x1a78);
        in_f28_29 = *(double *)(PTR_LAB_003a88e0 + 0x13f8);
        in_f30_31 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);
        uVar11 = 2 << ((uint)puVar8 & 0x1f);
        local_1128 = iVar7 * (int)local_10f8;
        uVar13 = uVar11;
        uVar22 = 1 >> (~(uint)puVar8 & 0x1f);
        if (((uint)puVar8 & 0x20) != 0) {
          uVar13 = 0;
          uVar22 = uVar11;
        }
        local_112c = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0;
        local_111c = uVar13 - 1;
        local_1120 = (uint)(local_111c < uVar13) + (uVar22 - 1);
        goto LAB_00224900;
      }
      (*(code *)PTR_CloseBlob_003a9688)(iVar6);
      goto LAB_00224e60;
    }
    uVar20 = 0x1a5;
    puVar17 = PTR_UINT_003a8950 + -0x2c10;
LAB_00224c3c:
    lVar31 = CONCAT44(iVar7,puVar8);
    (*(code *)PTR_ThrowMagickException_003a8f20)
              (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,uVar20,0x1a9,puVar17,
               PTR_LAB_003a88e0 + 0x3e28,param_1 + 0x2210);
    if (iVar6 != 0) {
      (*(code *)PTR_CloseBlob_003a9688)(iVar6);
      (*(code *)PTR_DestroyImageList_003a9510)(iVar6);
    }
    uVar20 = 0;
    dVar26 = in_f22_23;
  }
LAB_00224c7c:
  uVar2 = (ulonglong)lVar31 >> 0x20;
  if (local_5c == *(int *)puVar4) {
    return uVar20;
  }
  uVar20 = (*(code *)PTR___stack_chk_fail_003a9064)();
  lVar31 = CONCAT44(uVar20,(int)lVar31);
  uVar20 = (int)uVar2;
LAB_002252f8:
  uVar2 = (ulonglong)lVar31 >> 0x20;
  lVar31 = CONCAT44(uVar20,(int)lVar31);
  in_f22_23 = dVar26;
  if (((int)uVar2 == 0) && (bVar1 = 1 < local_1160._4_4_, bVar1)) goto LAB_00225060;
LAB_0022511c:
  (*(code *)PTR_SeekBlob_003a9328)(iVar6);
  dVar28 = local_10d8;
LAB_002249f4:
  local_10d8 = dVar28;
  dVar26 = dVar26 - in_f22_23;
  do {
    iVar7 = (int)((ulonglong)lVar31 >> 0x20);
    local_1140 = (uint)((ulonglong)dVar26 >> 0x20);
    if (0.0 <= dVar26) {
      dVar28 = *(double *)(local_1134 + 0x1438);
    }
    else {
      local_1140 = local_1140 ^ 0x80000000;
      dVar28 = local_1118;
    }
    if (in_f28_29 <= (double)CONCAT44(local_1140,SUB84(dVar26,0))) {
      dVar28 = *(double *)(local_1134 + 0x1438) / dVar26;
    }
    else {
      dVar28 = dVar28 / in_f28_29;
    }
    uVar22 = *(int *)(iVar6 + 0x1c) - 1;
    dVar28 = dVar28 * in_f30_31;
    if (-1 < (int)uVar22) {
      local_1160 = CONCAT44((int)uVar22 >> 0x1f,local_1160._4_4_);
      uVar13 = uVar22;
      while( true ) {
        lVar31 = CONCAT44(iVar7,&local_1108);
        iVar10 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)
                           (iVar6,0,uVar22,*(undefined4 *)(iVar6 + 0x18),1,param_2);
        if (iVar10 == 0) break;
        if (0 < *(int *)(iVar6 + 0x18)) {
          iVar7 = 0;
          uVar11 = *(uint *)(iVar6 + 0x20);
          dVar26 = local_10d0;
          dVar29 = local_10c8;
          do {
            uVar11 = uVar11 >> 3;
            if (uVar11 == 2) {
              sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);
              local_1108 = (double)(int)sVar15;
LAB_00224ae8:
              uVar11 = *(uint *)(iVar6 + 0x20);
              if (uVar11 == 0x10) goto LAB_00224b8c;
LAB_00224af8:
              if ((uVar11 == 0x20) || (uVar11 == 0x40)) goto LAB_00224b8c;
            }
            else {
              if (2 < uVar11) {
                if (uVar11 == 4) {
                  pcVar25 = (code *)PTR_ReadBlobSignedLong_003a968c;
                  if (0 < (int)local_1158) goto LAB_00224b68;
                  fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);
                  local_1108 = (double)fVar27;
                }
                else {
                  if ((uVar11 != 8) || ((int)local_1158 < 1)) goto LAB_00224ad8;
                  uVar30 = (*(code *)PTR_ReadBlobLongLong_003a97a0)(iVar6);
                  local_1108 = (double)(*(code *)PTR_FUN_003a8a60)
                                                 ((int)((ulonglong)uVar30 >> 0x20),(int)uVar30);
                }
                goto LAB_00224ae8;
              }
              pcVar25 = (code *)PTR_ReadBlobByte_003a97f0;
              if (uVar11 != 1) {
LAB_00224ad8:
                local_1108 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);
                goto LAB_00224ae8;
              }
LAB_00224b68:
              iVar12 = (*pcVar25)(iVar6);
              uVar11 = *(uint *)(iVar6 + 0x20);
              local_1108 = (double)iVar12;
              if (uVar11 != 0x10) goto LAB_00224af8;
LAB_00224b8c:
              pdVar19 = &local_1108;
              if (*(int *)(iVar6 + 0x25c) != 2) {
                pdVar19 = (double *)((int)&local_1108 + ((uVar11 >> 3) - 1));
              }
              *(byte *)pdVar19 = *(byte *)pdVar19 ^ 0x80;
            }
            iVar7 = iVar7 + 1;
            iVar12 = *(int *)(iVar6 + 0x18);
            pfVar18 = (float *)(iVar10 + *(int *)(*(int *)(iVar6 + 0x2d0) + 8) * 4);
            iVar10 = iVar10 + *(int *)(iVar6 + 0x2c0) * 4;
            *pfVar18 = (float)(((local_1108 - in_f22_23) * dVar29 + dVar26) * dVar28);
          } while (iVar7 < iVar12);
        }
        lVar31 = CONCAT44(iVar7,&local_1108);
        iVar10 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(iVar6,param_2);
        if ((iVar10 == 0) ||
           ((*(int *)(iVar6 + 0x3364) == 0 &&
            (local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)
                                    (iVar6,local_112c,local_1160._0_4_,uVar13,0,
                                     *(undefined4 *)(iVar6 + 0x1c)),
            lVar31 = CONCAT44(iVar7,&local_1108), local_114c == 0)))) break;
        uVar22 = uVar22 - 1;
        iVar7 = local_1160._0_4_ + -1;
        lVar31 = CONCAT44(iVar7,&local_1108);
        local_1160 = CONCAT44((uint)(uVar13 - 1 < uVar13) + iVar7,local_1160._4_4_);
        uVar13 = uVar13 - 1;
        if (uVar22 == 0xffffffff) break;
      }
    }
    iVar7 = (*(code *)PTR_EOFBlob_003a9748)(iVar6);
    if (iVar7 != 0) {
      puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();
      uVar20 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);
      (*(code *)PTR_ThrowMagickException_003a8f20)
                (param_2,PTR_UINT_003a8950 + -0xe40,PTR_UINT_003a8950 + -0xc70,0x1e6,0x1a9,
                 PTR_s_courses_003a88ec + -0x17c,PTR_LAB_003a88e0 + 0xe78,iVar6 + 0x340,uVar20);
      (*(code *)PTR_DestroyString_003a9074)(uVar20);
LAB_00224e4c:
      (*(code *)PTR_CloseBlob_003a9688)(iVar6);
      if (local_114c == 0) {
LAB_00224fc0:
        uVar20 = (*(code *)PTR_DestroyImageList_003a9510)(iVar6);
        dVar26 = in_f22_23;
      }
      else {
LAB_00224e60:
        uVar20 = (*(code *)PTR_GetFirstImageInList_003a944c)(iVar6);
        dVar26 = in_f22_23;
      }
      goto LAB_00224c7c;
    }
    if ((*(int *)(param_1 + 0x2c) != 0) &&
       ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= *(uint *)(iVar6 + 0x26c)))
    goto LAB_00224e4c;
    if ((int)local_1154 < (int)(local_1138 + -1)) {
      (*(code *)PTR_AcquireNextImage_003a8f90)(param_1,iVar6,param_2);
      iVar7 = (*(code *)PTR_GetNextImageInList_003a9470)(iVar6);
      if (iVar7 != 0) {
        iVar6 = (*(code *)PTR_SyncNextImageInList_003a9408)(iVar6);
        uVar30 = (*(code *)PTR_TellBlob_003a931c)(iVar6);
        uVar32 = (*(code *)PTR_GetBlobSize_003a94b8)(iVar6);
        local_114c = (*(code *)PTR_SetImageProgress_003a8cb4)
                               (iVar6,PTR_s_courses_003a88ec + -0x168,
                                (int)((ulonglong)uVar30 >> 0x20),(int)uVar30,uVar32);
        if (local_114c != 0) goto LAB_00224e34;
      }
      (*(code *)PTR_CloseBlob_003a9688)(iVar6);
      goto LAB_00224fc0;
    }
LAB_00224e34:
    local_1154 = local_1154 + 1;
    if (local_1154 == local_1138) goto LAB_00224e4c;
LAB_00224900:
    iVar7 = *(int *)(param_1 + 0x1dc);
    *(int *)(iVar6 + 0x18) = local_1148;
    *(int *)(iVar6 + 0x1c) = local_1144;
    *(int *)(iVar6 + 0x20) = local_1128;
    *(undefined4 *)(iVar6 + 0x25c) = local_1124;
    *(undefined **)(iVar6 + 0x26c) = local_1154;
    if (((iVar7 != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&
       ((undefined *)(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28) + -1) <= local_1154))
    goto LAB_00224e4c;
    local_114c = (*(code *)PTR_SetImageExtent_003a94ac)(iVar6,local_1148,local_1144,param_2);
    if (local_114c == 0) goto LAB_00224fc0;
    (*(code *)PTR_SetImageColorspace_003a8d40)(iVar6,3,param_2);
    in_f22_23 = local_10e0;
    if ((local_10e0 != 0.0) || (local_10d8 != 0.0)) {
      if (local_1158 != (undefined1 *)0x0) goto LAB_002249dc;
      dVar26 = 0.0;
      dVar28 = dVar26;
      goto LAB_002249f4;
    }
    if (((uint)local_1158 & 0xffffffdf) != 0xffffffc0) break;
    dVar26 = local_10d8;
    lVar33 = (*(code *)PTR_TellBlob_003a931c)(iVar6);
    if (lVar33 != -1) {
      lVar31 = (ulonglong)*(uint *)(iVar6 + 0x18) * (ulonglong)*(uint *)(iVar6 + 0x1c);
      uVar22 = *(uint *)(iVar6 + 0x20) >> 3;
      if (uVar22 == 2) {
        sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);
        dVar26 = (double)(int)sVar15;
      }
      else if (uVar22 == 4) {
        fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);
        dVar26 = (double)fVar27;
      }
      else if (uVar22 == 1) {
        iVar7 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);
        dVar26 = (double)iVar7;
      }
      else {
        dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);
      }
      local_1160._0_4_ = (int)((ulonglong)lVar31 >> 0x20);
      uVar20 = local_1160._0_4_;
      local_1160 = lVar31;
      local_10e0 = dVar26;
      local_10d8 = dVar26;
      if (0xffffffff < lVar31) goto LAB_00225060;
      goto LAB_002252f8;
    }
    dVar26 = dVar26 - in_f22_23;
  } while( true );
  dVar26 = 0.0;
  dVar28 = dVar26;
  if (local_1158 != (undefined1 *)0x0) {
LAB_002249dc:
    dVar26 = (double)(*(code *)PTR_FUN_003a8a60)(local_1120,local_111c);
    dVar28 = dVar26;
  }
  goto LAB_002249f4;
LAB_00225060:
  iVar7 = 0;
  uVar22 = 1;
  dVar28 = dVar26;
  dVar29 = dVar26;
  do {
    uVar13 = *(uint *)(iVar6 + 0x20) >> 3;
    if (uVar13 == 2) {
      sVar15 = (*(code *)PTR_ReadBlobShort_003a8d80)(iVar6);
      dVar26 = (double)(int)sVar15;
    }
    else if (uVar13 == 4) {
      fVar27 = (float)(*(code *)PTR_ReadBlobFloat_003a8e98)(iVar6);
      dVar26 = (double)fVar27;
    }
    else if (uVar13 == 1) {
      iVar10 = (*(code *)PTR_ReadBlobByte_003a97f0)(iVar6);
      dVar26 = (double)iVar10;
    }
    else {
      dVar26 = (double)(*(code *)PTR_ReadBlobDouble_003a8c38)(iVar6);
    }
    dVar5 = dVar26;
    if (dVar29 <= dVar26) {
      dVar5 = local_10e0;
    }
    local_10e0 = dVar5;
    uVar13 = uVar22 + 1;
    dVar29 = dVar26;
    if (dVar26 <= dVar28) {
      dVar26 = dVar28;
      dVar29 = local_10d8;
    }
    local_10d8 = dVar29;
    iVar7 = (uint)(uVar13 < uVar22) + iVar7;
    uVar22 = uVar13;
    dVar28 = dVar26;
    dVar29 = local_10e0;
    in_f22_23 = local_10e0;
  } while (lVar31 != CONCAT44(iVar7,uVar13));
  goto LAB_0022511c;
}

