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

MagickBooleanType WriteBRAILLEImage(ImageInfo *image_info,Image *image,ExceptionInfo *exception)

{
  bool bVar1;
  bool bVar2;
  bool bVar3;
  bool bVar4;
  bool bVar5;
  undefined *puVar6;
  undefined *puVar7;
  int iVar8;
  int iVar9;
  MagickBooleanType MVar10;
  undefined *puVar11;
  size_t sVar12;
  int iVar13;
  undefined1 *puVar14;
  int iVar15;
  ExceptionInfo *pEVar16;
  PixelChannelMap *pPVar17;
  int iVar18;
  PixelTrait PVar19;
  uint uVar20;
  uint uVar21;
  char *pcVar22;
  undefined1 *puVar23;
  undefined1 *puVar24;
  ExceptionInfo *pEVar25;
  int iVar26;
  float fVar29;
  float fVar30;
  double dVar27;
  double dVar28;
  undefined8 uVar31;
  ulonglong uVar32;
  float fVar33;
  uchar utf8 [3];
  char buffer [4096];
  
  puVar7 = PTR___stack_chk_guard_003a9230;
  iVar8 = *(int *)PTR___stack_chk_guard_003a9230;
  if (image_info == (ImageInfo *)0x0) {
    MVar10 = (*(code *)PTR___assert_fail_003a9608)
                       (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,
                        PTR_s_courses_003a88ec + 0xaa4);
    return MVar10;
  }
  if (image_info->signature != 0xabacadab) {
    MVar10 = (*(code *)PTR___assert_fail_003a9608)
                       (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,
                        PTR_s_courses_003a88ec + 0xaa4);
    return MVar10;
  }
  if (image == (Image *)0x0) {
    MVar10 = (*(code *)PTR___assert_fail_003a9608)
                       (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,
                        PTR_s_courses_003a88ec + 0xaa4);
    return MVar10;
  }
  if (image->signature != 0xabacadab) {
    MVar10 = (*(code *)PTR___assert_fail_003a9608)
                       (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,
                        PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4);
    return MVar10;
  }
  pcVar22 = image_info->magick;
  iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46cc);
  if (iVar9 == 0) {
    puVar23 = &DAT_00000004;
    bVar5 = true;
    bVar3 = false;
LAB_001fe9f8:
    MVar10 = image->debug;
  }
  else {
    iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46d4);
    if (iVar9 != 0) {
      iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46dc);
      if (iVar9 == 0) {
        puVar23 = &DAT_00000004;
        bVar3 = true;
        bVar5 = false;
      }
      else {
        puVar23 = (undefined1 *)0x3;
        bVar5 = false;
        iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46e4);
        bVar3 = iVar9 == 0;
      }
      goto LAB_001fe9f8;
    }
    MVar10 = image->debug;
    puVar23 = (undefined1 *)0x3;
    bVar5 = true;
    bVar3 = false;
  }
  if (MVar10 != MagickFalse) {
    (*(code *)PTR_LogMagickEvent_003a91e0)
              (0x8000,PTR_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,
               PTR_s_t_to_left_003a88e4 + -0x62ac,image->filename);
  }
  if (exception == (ExceptionInfo *)0x0) {
    MVar10 = (*(code *)PTR___assert_fail_003a9608)
                       (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,
                        PTR_s_courses_003a88ec + 0xaa4);
    return MVar10;
  }
  pEVar16 = (ExceptionInfo *)PTR_s_courses_003a88ec;
  if (exception->signature != 0xabacadab) goto LAB_001ff384;
  pEVar16 = exception;
  MVar10 = (*(code *)PTR_OpenBlob_003a924c)(image_info,image,4,exception);
  if (MVar10 != MagickFalse) {
    if (!bVar3) {
      pEVar25 = (ExceptionInfo *)
                (*(code *)PTR_GetImageProperty_003a93fc)
                          (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,exception
                          );
      if (pEVar25 != (ExceptionInfo *)0x0) {
        (*(code *)PTR_FormatLocaleString_003a8d7c)
                  (buffer,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,pEVar25);
        (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);
        pEVar16 = pEVar25;
      }
      if ((image->page).x != 0) {
        (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x98c);
        (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);
      }
      if ((image->page).y != 0) {
        (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x998);
        (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);
      }
      (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x9a4);
      (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);
      (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x9b4);
      (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);
      (*(code *)PTR_WriteBlobString_003a95a8)(image,PTR_s_courses_003a88ec + -0x4bdc);
    }
    (*(code *)PTR_SetImageType_003a9188)(image,1,exception);
    if (image->storage_class == PseudoClass) {
      dVar27 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap);
      uVar32 = 0;
      if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar27) {
        uVar32 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);
      }
      if (image->colors == 2) {
        dVar27 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap);
        dVar28 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap + 1);
        if (dVar27 < dVar28) goto LAB_001fea70;
        uVar32 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);
      }
    }
    else {
LAB_001fea70:
      uVar32 = 0;
    }
    puVar6 = PTR_s_courses_003a88ec;
    puVar14 = (undefined1 *)image->rows;
    if (0 < (int)puVar14) {
      pEVar25 = (ExceptionInfo *)0x0;
      puVar11 = PTR_s_courses_003a88ec + -0x15c;
      puVar24 = puVar23;
      do {
        if (puVar14 < puVar23) {
          puVar24 = puVar14 + -(int)pEVar25;
        }
        pEVar16 = (ExceptionInfo *)image->columns;
        iVar9 = (*(code *)PTR_GetVirtualPixels_003a9764)(image,0,pEVar25,pEVar16,puVar24,exception);
        if (iVar9 == 0) break;
        sVar12 = image->columns;
        if (0 < (int)sVar12) {
          uVar31 = 0;
          iVar26 = 0;
          bVar2 = puVar24 < (undefined1 *)0x2;
          do {
            iVar15 = iVar26 + 1;
            pPVar17 = image->channel_map;
            fVar30 = (float)uVar31;
            fVar33 = (float)uVar32;
            if (image->storage_class == PseudoClass) {
              PVar19 = pPVar17[5].traits;
              if (PVar19 == UndefinedPixelTrait) {
                uVar21 = (uint)(fVar33 == fVar30);
                if (iVar15 < (int)sVar12) {
                  fVar29 = 0.0;
                  goto LAB_001feeb4;
                }
              }
              else {
                uVar21 = (uint)(*(float *)(iVar9 + (iVar26 + pPVar17[5].offset) * 4) == fVar33);
                if (iVar15 < (int)sVar12) {
                  fVar29 = *(float *)(iVar9 + (iVar15 + pPVar17[5].offset) * 4);
LAB_001feeb4:
                  uVar20 = 8;
                  if (fVar33 != fVar29) {
                    uVar20 = 0;
                  }
                  uVar21 = uVar20 | uVar21;
                }
              }
              if (!bVar2) {
                fVar29 = 0.0;
                if (PVar19 != UndefinedPixelTrait) {
                  fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26) * 4);
                }
                uVar20 = (uint)(char)uVar21;
                if (fVar33 == fVar29) {
                  uVar20 = uVar20 | 2;
                  uVar21 = uVar20;
                }
                if ((int)sVar12 <= iVar15) {
                  if (puVar24 != (undefined1 *)0x2) {
                    iVar18 = sVar12 * 2 + iVar26;
                    if (PVar19 != UndefinedPixelTrait) goto LAB_001fef54;
LAB_001ff08c:
                    fVar29 = 0.0;
                    goto LAB_001fef68;
                  }
                }
                else {
                  fVar29 = 0.0;
                  if (PVar19 != UndefinedPixelTrait) {
                    fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26 + 1) * 4);
                  }
                  if (fVar33 == fVar29) {
                    uVar21 = uVar20 | 0x10;
                  }
                  if (puVar24 != (undefined1 *)0x2) {
                    iVar18 = sVar12 * 2 + iVar26;
                    if (PVar19 == UndefinedPixelTrait) goto LAB_001ff08c;
LAB_001fef54:
                    fVar29 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);
LAB_001fef68:
                    uVar20 = (uint)(char)uVar21;
                    if (fVar33 == fVar29) {
                      uVar21 = uVar20 | 4;
                      uVar20 = uVar21;
                    }
                    if ((int)sVar12 <= iVar15) goto LAB_001febe8;
                    fVar30 = 0.0;
                    if (PVar19 != UndefinedPixelTrait) {
                      fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);
                    }
                    if (fVar33 == fVar30) {
                      uVar21 = uVar20 | 0x20;
                    }
                    if (puVar24 != (undefined1 *)0x3) {
LAB_001fefc0:
                      iVar18 = sVar12 * 3 + iVar26;
                      if (PVar19 == UndefinedPixelTrait) {
                        fVar30 = 0.0;
                      }
                      else {
                        fVar30 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);
                      }
                      uVar20 = (uint)(char)uVar21;
                      if (fVar33 == fVar30) {
                        uVar21 = uVar20 | 0x40;
                        uVar20 = uVar21;
                      }
                      if (iVar15 < (int)sVar12) {
                        fVar30 = 0.0;
                        if (PVar19 != UndefinedPixelTrait) {
                          fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);
                        }
                        if (fVar33 == fVar30) {
                          uVar21 = uVar20 | 0x80;
                        }
                      }
                    }
                  }
                }
              }
LAB_001fec34:
              if (!bVar5) goto LAB_001fec3c;
LAB_001fedf4:
              utf8[0] = 0xe2;
              utf8[1] = (byte)(uVar21 >> 6) | 0xa0;
              utf8[2] = (byte)uVar21 & 0x3f | 0x80;
              (*(code *)PTR_WriteBlob_003a9994)(image,3,utf8);
            }
            else {
              iVar18 = pPVar17[1].offset;
              bVar4 = *(float *)(iVar9 + (iVar18 + iVar26) * 4) == fVar30;
              uVar21 = (uint)bVar4;
              bVar1 = iVar15 < (int)sVar12;
              if (!bVar1) {
                if (!bVar2) {
                  uVar20 = (uint)bVar4;
                  if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30)
                  goto LAB_001fed40;
LAB_001fed48:
                  if (bVar1) goto LAB_001feb88;
                  if (puVar24 != (undefined1 *)0x2) {
                    if (*(float *)(iVar9 + (sVar12 * 2 + iVar26) * 4 + iVar18 * 4) == fVar30) {
                      uVar21 = (int)(char)uVar21 | 4;
                    }
                    goto LAB_001febe8;
                  }
                }
                goto LAB_001fec34;
              }
              uVar20 = 8;
              if (*(float *)(iVar9 + iVar15 * 4 + iVar18 * 4) != fVar30) {
                uVar20 = 0;
              }
              uVar21 = uVar20 | uVar21;
              if (bVar2) goto LAB_001fec34;
              uVar20 = uVar21;
              if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30) {
LAB_001fed40:
                uVar21 = uVar20 | 2;
                uVar20 = uVar21;
                goto LAB_001fed48;
              }
LAB_001feb88:
              if (*(float *)(iVar9 + (sVar12 + iVar26 + 1) * 4 + iVar18 * 4) == fVar30) {
                uVar21 = uVar20 | 0x10;
              }
              if (puVar24 == (undefined1 *)0x2) goto LAB_001fec34;
              iVar13 = iVar9 + (sVar12 * 2 + iVar26) * 4;
              uVar20 = (uint)(char)uVar21;
              if ((*(float *)(iVar13 + iVar18 * 4) == fVar30) &&
                 (uVar21 = uVar20 | 4, uVar20 = uVar21, !bVar1)) {
LAB_001febe8:
                if (puVar24 != (undefined1 *)0x3) {
                  if (image->storage_class == PseudoClass) {
                    PVar19 = pPVar17[5].traits;
                    goto LAB_001fefc0;
                  }
                  iVar18 = pPVar17[1].offset * 4;
                  iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;
                  uVar20 = (uint)(char)uVar21;
                  if (*(float *)(iVar13 + iVar18) == fVar30) goto LAB_001fec28;
                }
                goto LAB_001fec34;
              }
              iVar18 = iVar18 * 4;
              if (*(float *)(iVar13 + iVar18 + 4) == fVar30) {
                uVar21 = uVar20 | 0x20;
              }
              if (puVar24 == (undefined1 *)0x3) goto LAB_001fec34;
              iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;
              uVar20 = (uint)(char)uVar21;
              if (*(float *)(iVar13 + iVar18) == fVar30) {
LAB_001fec28:
                uVar20 = uVar20 | 0x40;
                uVar21 = uVar20;
                if ((int)sVar12 <= iVar15) goto LAB_001fec34;
              }
              if (*(float *)(iVar13 + iVar18 + 4) != fVar30) goto LAB_001fec34;
              uVar21 = uVar20 | 0x80;
              if (bVar5) goto LAB_001fedf4;
LAB_001fec3c:
              if (bVar3) {
                (*(code *)PTR_WriteBlobByte_003a8fdc)(image);
              }
              else {
                (*(code *)PTR_WriteBlobByte_003a8fdc)(image,puVar6[uVar21 + 0xa50]);
              }
            }
            sVar12 = image->columns;
            iVar26 = iVar26 + 2;
          } while (iVar26 < (int)sVar12);
        }
        if (!bVar3) {
          (*(code *)PTR_WriteBlobByte_003a8fdc)(image,10);
        }
        pEVar16 = pEVar25;
        iVar9 = (*(code *)PTR_SetImageProgress_003a8cb4)
                          (image,puVar11,(int)pEVar25 >> 0x1f,pEVar25,0,image->rows);
        if (iVar9 == 0) break;
        puVar14 = (undefined1 *)image->rows;
        pEVar25 = (ExceptionInfo *)(puVar24 + (int)&pEVar25->severity);
        puVar23 = puVar24 + (int)&pEVar25->severity;
      } while ((int)pEVar25 < (int)puVar14);
    }
    (*(code *)PTR_CloseBlob_003a9688)(image);
    MVar10 = MagickTrue;
  }
  if (iVar8 == *(int *)puVar7) {
    return MVar10;
  }
  (*(code *)PTR___stack_chk_fail_003a9064)();
LAB_001ff384:
  MVar10 = (*(code *)PTR___assert_fail_003a9608)
                     (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + 0x978,0xf4,
                      &pEVar16[0x55].error_number);
  return MVar10;
}



int FUN_001fe8e0(int param_1,int *param_2,undefined *param_3)

{
  bool bVar1;
  bool bVar2;
  bool bVar3;
  bool bVar4;
  bool bVar5;
  undefined *puVar6;
  int iVar7;
  undefined *puVar8;
  int iVar9;
  undefined *puVar10;
  undefined1 *puVar11;
  int iVar12;
  undefined *puVar13;
  int iVar14;
  int iVar15;
  uint uVar16;
  uint uVar17;
  int iVar18;
  undefined1 *puVar19;
  undefined1 *puVar20;
  undefined *puVar21;
  int iVar22;
  float fVar25;
  float fVar26;
  double dVar23;
  double dVar24;
  undefined8 uVar27;
  ulonglong uVar28;
  float fVar29;
  undefined1 local_1040;
  byte local_103f;
  byte local_103e;
  undefined1 auStack_103c [4096];
  int local_3c;
  
  puVar6 = PTR___stack_chk_guard_003a9230;
  local_3c = *(int *)PTR___stack_chk_guard_003a9230;
  if (param_1 == 0) {
    iVar7 = (*(code *)PTR___assert_fail_003a9608)
                      (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,
                       PTR_s_courses_003a88ec + 0xaa4);
    return iVar7;
  }
  if (*(int *)(param_1 + 0x3214) != -0x54535255) {
    iVar7 = (*(code *)PTR___assert_fail_003a9608)
                      (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,
                       PTR_s_courses_003a88ec + 0xaa4);
    return iVar7;
  }
  if (param_2 == (int *)0x0) {
    iVar7 = (*(code *)PTR___assert_fail_003a9608)
                      (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,
                       PTR_s_courses_003a88ec + 0xaa4);
    return iVar7;
  }
  if (param_2[0xcdb] != -0x54535255) {
    iVar7 = (*(code *)PTR___assert_fail_003a9608)
                      (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,
                       PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4);
    return iVar7;
  }
  iVar18 = param_1 + 0x210;
  iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46cc);
  if (iVar7 == 0) {
    puVar19 = &DAT_00000004;
    bVar5 = true;
    bVar3 = false;
LAB_001fe9f8:
    iVar7 = param_2[0xcd4];
  }
  else {
    iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46d4);
    if (iVar7 != 0) {
      iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc);
      if (iVar7 == 0) {
        puVar19 = &DAT_00000004;
        bVar3 = true;
        bVar5 = false;
      }
      else {
        puVar19 = (undefined1 *)0x3;
        bVar5 = false;
        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);
        bVar3 = iVar7 == 0;
      }
      goto LAB_001fe9f8;
    }
    iVar7 = param_2[0xcd4];
    puVar19 = (undefined1 *)0x3;
    bVar5 = true;
    bVar3 = false;
  }
  if (iVar7 != 0) {
    (*(code *)PTR_LogMagickEvent_003a91e0)
              (0x8000,PTR_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,
               PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0xd0);
  }
  if (param_3 == (undefined *)0x0) {
    iVar7 = (*(code *)PTR___assert_fail_003a9608)
                      (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,
                       PTR_s_courses_003a88ec + 0xaa4);
    return iVar7;
  }
  puVar13 = PTR_s_courses_003a88ec;
  if (*(int *)(param_3 + 0x1c) != -0x54535255) goto LAB_001ff384;
  puVar13 = param_3;
  iVar7 = (*(code *)PTR_OpenBlob_003a924c)(param_1,param_2,4,param_3);
  if (iVar7 != 0) {
    if (!bVar3) {
      puVar10 = (undefined *)
                (*(code *)PTR_GetImageProperty_003a93fc)
                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3
                          );
      if (puVar10 != (undefined *)0x0) {
        (*(code *)PTR_FormatLocaleString_003a8d7c)
                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,
                   puVar10);
        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);
        puVar13 = puVar10;
      }
      if (param_2[0x8c] != 0) {
        (*(code *)PTR_FormatLocaleString_003a8d7c)
                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c);
        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);
      }
      if (param_2[0x8d] != 0) {
        (*(code *)PTR_FormatLocaleString_003a8d7c)
                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998);
        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);
      }
      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9a4)
      ;
      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);
      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9b4)
      ;
      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);
      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,PTR_s_courses_003a88ec + -0x4bdc);
    }
    (*(code *)PTR_SetImageType_003a9188)(param_2,1,param_3);
    if (*param_2 == 2) {
      dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);
      uVar28 = 0;
      if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar23) {
        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);
      }
      if (param_2[9] == 2) {
        dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);
        dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58);
        if (dVar23 < dVar24) goto LAB_001fea70;
        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);
      }
    }
    else {
LAB_001fea70:
      uVar28 = 0;
    }
    puVar10 = PTR_s_courses_003a88ec;
    puVar11 = (undefined1 *)param_2[7];
    if (0 < (int)puVar11) {
      puVar21 = (undefined *)0x0;
      puVar8 = PTR_s_courses_003a88ec + -0x15c;
      puVar20 = puVar19;
      do {
        if (puVar11 < puVar19) {
          puVar20 = puVar11 + -(int)puVar21;
        }
        puVar13 = (undefined *)param_2[6];
        iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3);
        if (iVar7 == 0) break;
        iVar18 = param_2[6];
        if (0 < iVar18) {
          uVar27 = 0;
          iVar22 = 0;
          bVar2 = puVar20 < (undefined1 *)0x2;
          do {
            iVar12 = iVar22 + 1;
            iVar14 = param_2[0xb4];
            fVar26 = (float)uVar27;
            fVar29 = (float)uVar28;
            if (*param_2 == 2) {
              iVar15 = *(int *)(iVar14 + 0x40);
              if (iVar15 == 0) {
                uVar17 = (uint)(fVar29 == fVar26);
                if (iVar12 < iVar18) {
                  fVar25 = 0.0;
                  goto LAB_001feeb4;
                }
              }
              else {
                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29
                               );
                if (iVar12 < iVar18) {
                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);
LAB_001feeb4:
                  uVar16 = 8;
                  if (fVar29 != fVar25) {
                    uVar16 = 0;
                  }
                  uVar17 = uVar16 | uVar17;
                }
              }
              if (!bVar2) {
                fVar25 = 0.0;
                if (iVar15 != 0) {
                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);
                }
                uVar16 = (uint)(char)uVar17;
                if (fVar29 == fVar25) {
                  uVar16 = uVar16 | 2;
                  uVar17 = uVar16;
                }
                if (iVar18 <= iVar12) {
                  if (puVar20 != (undefined1 *)0x2) {
                    iVar9 = iVar18 * 2 + iVar22;
                    if (iVar15 != 0) goto LAB_001fef54;
LAB_001ff08c:
                    fVar25 = 0.0;
                    goto LAB_001fef68;
                  }
                }
                else {
                  fVar25 = 0.0;
                  if (iVar15 != 0) {
                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)
                    ;
                  }
                  if (fVar29 == fVar25) {
                    uVar17 = uVar16 | 0x10;
                  }
                  if (puVar20 != (undefined1 *)0x2) {
                    iVar9 = iVar18 * 2 + iVar22;
                    if (iVar15 == 0) goto LAB_001ff08c;
LAB_001fef54:
                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);
LAB_001fef68:
                    uVar16 = (uint)(char)uVar17;
                    if (fVar29 == fVar25) {
                      uVar17 = uVar16 | 4;
                      uVar16 = uVar17;
                    }
                    if (iVar18 <= iVar12) goto LAB_001febe8;
                    fVar26 = 0.0;
                    if (iVar15 != 0) {
                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);
                    }
                    if (fVar29 == fVar26) {
                      uVar17 = uVar16 | 0x20;
                    }
                    if (puVar20 != (undefined1 *)0x3) {
LAB_001fefc0:
                      iVar9 = iVar18 * 3 + iVar22;
                      if (iVar15 == 0) {
                        fVar26 = 0.0;
                      }
                      else {
                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);
                      }
                      uVar16 = (uint)(char)uVar17;
                      if (fVar29 == fVar26) {
                        uVar17 = uVar16 | 0x40;
                        uVar16 = uVar17;
                      }
                      if (iVar12 < iVar18) {
                        fVar26 = 0.0;
                        if (iVar15 != 0) {
                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);
                        }
                        if (fVar29 == fVar26) {
                          uVar17 = uVar16 | 0x80;
                        }
                      }
                    }
                  }
                }
              }
LAB_001fec34:
              if (!bVar5) goto LAB_001fec3c;
LAB_001fedf4:
              local_1040 = 0xe2;
              local_103f = (byte)(uVar17 >> 6) | 0xa0;
              local_103e = (byte)uVar17 & 0x3f | 0x80;
              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);
            }
            else {
              iVar15 = *(int *)(iVar14 + 0x14);
              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;
              uVar17 = (uint)bVar4;
              bVar1 = iVar12 < iVar18;
              if (!bVar1) {
                if (!bVar2) {
                  uVar16 = (uint)bVar4;
                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)
                  goto LAB_001fed40;
LAB_001fed48:
                  if (bVar1) goto LAB_001feb88;
                  if (puVar20 != (undefined1 *)0x2) {
                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {
                      uVar17 = (int)(char)uVar17 | 4;
                    }
                    goto LAB_001febe8;
                  }
                }
                goto LAB_001fec34;
              }
              uVar16 = 8;
              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {
                uVar16 = 0;
              }
              uVar17 = uVar16 | uVar17;
              if (bVar2) goto LAB_001fec34;
              uVar16 = uVar17;
              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {
LAB_001fed40:
                uVar17 = uVar16 | 2;
                uVar16 = uVar17;
                goto LAB_001fed48;
              }
LAB_001feb88:
              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {
                uVar17 = uVar16 | 0x10;
              }
              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;
              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;
              uVar16 = (uint)(char)uVar17;
              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&
                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {
LAB_001febe8:
                if (puVar20 != (undefined1 *)0x3) {
                  if (*param_2 == 2) {
                    iVar15 = *(int *)(iVar14 + 0x40);
                    goto LAB_001fefc0;
                  }
                  iVar15 = *(int *)(iVar14 + 0x14) * 4;
                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;
                  uVar16 = (uint)(char)uVar17;
                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;
                }
                goto LAB_001fec34;
              }
              iVar15 = iVar15 * 4;
              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {
                uVar17 = uVar16 | 0x20;
              }
              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;
              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;
              uVar16 = (uint)(char)uVar17;
              if (*(float *)(iVar14 + iVar15) == fVar26) {
LAB_001fec28:
                uVar16 = uVar16 | 0x40;
                uVar17 = uVar16;
                if (iVar18 <= iVar12) goto LAB_001fec34;
              }
              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;
              uVar17 = uVar16 | 0x80;
              if (bVar5) goto LAB_001fedf4;
LAB_001fec3c:
              if (bVar3) {
                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);
              }
              else {
                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);
              }
            }
            iVar18 = param_2[6];
            iVar22 = iVar22 + 2;
          } while (iVar22 < iVar18);
        }
        if (!bVar3) {
          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);
        }
        puVar13 = puVar21;
        iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)
                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7]);
        if (iVar7 == 0) break;
        puVar11 = (undefined1 *)param_2[7];
        puVar21 = puVar21 + (int)puVar20;
        puVar19 = puVar21 + (int)puVar20;
      } while ((int)puVar21 < (int)puVar11);
    }
    (*(code *)PTR_CloseBlob_003a9688)(param_2);
    iVar7 = 1;
  }
  if (local_3c == *(int *)puVar6) {
    return iVar7;
  }
  (*(code *)PTR___stack_chk_fail_003a9064)();
LAB_001ff384:
  iVar7 = (*(code *)PTR___assert_fail_003a9608)
                    (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + 0x978,0xf4,puVar13 + 0xaa4);
  return iVar7;
}


lui gp,0x1b
addiu gp,gp,0x1fd0
addu gp,gp,t9
lw v0,-0x7680(gp)
addiu sp,sp,-0x1078
sdc1 f22,0x1070(sp)
sw v0,0x34(sp)
sw gp,0x18(sp)
sw ra,0x1064(sp)
sw s8,0x1060(sp)
sw s7,0x105c(sp)
sw s6,0x1058(sp)
sw s5,0x1054(sp)
sw s4,0x1050(sp)
sw s3,0x104c(sp)
sw s2,0x1048(sp)
sw s1,0x1044(sp)
sw s0,0x1040(sp)
sw a2,0x28(sp)
lw v0,0x0(v0)
sdc1 f20,0x1068(sp)
sw v0,0x103c(sp)
beq a0,zero,0x001ff354
_lui v0,0xabac
lw v1,0x3214(a0)
ori v0,v0,0xadab
bne v1,v0,0x001ff330
_or s0,a0,zero
beq a1,zero,0x001ff30c
_or s8,a1,zero
lw v0,0x336c(a1)
bne v0,v1,0x001ff3c4
_lw a1,-0x7fd0(gp)
addiu s1,a0,0x210
lw t9,-0x77a0(gp)
or a0,s1,zero
jalr t9
_addiu a1,a1,0x46cc
lw gp,0x18(sp)
beq v0,zero,0x001fe9f0
_sw v0,0x24(sp)
lw a1,-0x7fd0(gp)
or a0,s1,zero
lw t9,-0x77a0(gp)
jalr t9
_addiu a1,a1,0x46d4
lw gp,0x18(sp)
bne v0,zero,0x001fee34
_sw v0,0x24(sp)
lw v0,0x3350(s8)
li s1,0x3
beq v0,zero,0x001fea04
_li s4,0x1
addiu v0,s8,0x340
lw a2,-0x7fc4(gp)
lw a1,-0x7fc4(gp)
li a3,0xf2
lw t9,-0x76d0(gp)
ori a0,zero,0x8000
sw v0,0x14(sp)
addiu a2,a2,0xa90
lw v0,-0x7fcc(gp)
addiu a1,a1,0x978
addiu v0,v0,-0x62ac
jalr t9
_sw v0,0x10(sp)
b 0x001fea04
_lw gp,0x18(sp)
li s1,0x4
li s4,0x1
lw v0,0x3350(s8)
bne v0,zero,0x001fe9b8
_addiu v0,s8,0x340
lw v0,0x28(sp)
beq v0,zero,0x001ff3a4
_lw a3,-0x7fc4(gp)
lw v1,0x1c(v0)
lui v0,0xabac
ori v0,v0,0xadab
bne v1,v0,0x001ff384
_lw t9,-0x7664(gp)
li a2,0x4
lw a3,0x28(sp)
or a1,s8,zero
jalr t9
_or a0,s0,zero
beq v0,zero,0x001feccc
_lw gp,0x18(sp)
lw v0,0x24(sp)
beq v0,zero,0x001ff0b8
_lw a1,-0x7fc8(gp)
lw t9,-0x7728(gp)
li a1,0x1
lw a2,0x28(sp)
jalr t9
_or a0,s8,zero
li v0,0x2
lw v1,0x0(s8)
beq v1,v0,0x001ff28c
_lw gp,0x18(sp)
mtc1 zero,f22
lw v1,0x1c(s8)
blez v1,0x001fecbc
_lw t9,-0x7228(gp)
lw s7,-0x7fc4(gp)
or s2,zero,zero
addiu v0,s7,0xa50
sw v0,0x2c(sp)
lw v0,-0x7fc4(gp)
addiu v0,v0,-0x15c
sw v0,0x30(sp)
addu v0,s2,s1
sltu v0,v1,v0
beq v0,zero,0x001feab0
_lw v0,0x28(sp)
subu s1,v1,s2
or a1,zero,zero
lw a3,0x18(s8)
or a2,s2,zero
lw t9,-0x714c(gp)
or a0,s8,zero
sw v0,0x14(sp)
jalr t9
_sw s1,0x10(sp)
lw gp,0x18(sp)
beq v0,zero,0x001fecb8
_or s5,v0,zero
lw v0,0x18(s8)
blez v0,0x001fec6c
_nop
mtc1 zero,f20
or s6,zero,zero
li s0,0x2
addiu s7,sp,0x38
sltiu s3,s1,0x2
lw t3,0x0(s8)
addiu a0,s6,0x1
beq t3,s0,0x001fee64
_lw t2,0x2d0(s8)
lw t4,0x14(t2)
addu a2,t4,s6
sll a2,a2,0x2
addu a2,s5,a2
lwc1 f0,0x0(a2)
c.eq.S f0,f20
bc1t 0x3,0x001feb30
_li a1,0x1
or a1,zero,zero
slt a2,a0,v0
beq a2,zero,0x001fed14
_andi a1,a1,0xff
sll a0,a0,0x2
sll t5,t4,0x2
addu a0,s5,a0
li t6,0x8
addu a0,a0,t5
lwc1 f0,0x0(a0)
c.eq.S f0,f20
movf t6,zero,0x4
or t6,t6,a1
bne s3,zero,0x001fec34
_andi a1,t6,0xff
addu a0,v0,s6
sll t7,a0,0x2
addu t7,s5,t7
addu t7,t7,t5
lwc1 f0,0x0(t7)
c.eq.S f0,f20
bc1t 0x3,0x001fed40
_nop
addiu a0,a0,0x1
sll a0,a0,0x2
addu a0,s5,a0
addu a0,a0,t5
lwc1 f0,0x0(a0)
c.eq.S f0,f20
bc1f 0x001febb0
_nop
ori a1,t6,0x10
andi a1,a1,0xff
beq s1,s0,0x001fec34
_nop
sll a0,v0,0x1
addu t4,a0,s6
sll t4,t4,0x2
addu t4,s5,t4
addu t7,t4,t5
lwc1 f0,0x0(t7)
c.eq.S f0,f20
bc1f 0x4,0x001fed8c
_seb t6,a1
ori t6,t6,0x4
bne a2,zero,0x001fed8c
_andi a1,t6,0xff
li t4,0x3
beq s1,t4,0x001fec34
_nop
beq t3,s0,0x001ff0b0
_nop
addu v0,a0,v0
lw t5,0x14(t2)
addu v0,v0,s6
sll t5,t5,0x2
sll v0,v0,0x2
addu v0,s5,v0
addu t2,v0,t5
lwc1 f0,0x0(t2)
c.eq.S f0,f20
bc1f 0x5,0x001fec34
_seb a0,a1
ori a0,a0,0x40
bne a2,zero,0x001fedd0
_andi a1,a0,0xff
bne s4,zero,0x001fedf4
_li a2,-0x1e
lw v0,0x24(sp)
beq v0,zero,0x001ff034
_lw v0,0x2c(sp)
lw t9,-0x78d4(gp)
jalr t9
_or a0,s8,zero
lw gp,0x18(sp)
lw v0,0x18(s8)
addiu s6,s6,0x2
slt a0,s6,v0
bne a0,zero,0x001feafc
_nop
lw v0,0x24(sp)
beq v0,zero,0x001ff094
_lw t9,-0x78d4(gp)
lw v0,0x1c(s8)
sra a2,s2,0x1f
lw t9,-0x7bfc(gp)
or a3,s2,zero
lw a1,0x30(sp)
or a0,s8,zero
sw zero,0x10(sp)
jalr t9
_sw v0,0x14(sp)
beq v0,zero,0x001fecb8
_lw gp,0x18(sp)
lw v1,0x1c(s8)
addu s2,s2,s1
slt v0,s2,v1
bne v0,zero,0x001feaa0
_addu v0,s2,s1
lw t9,-0x7228(gp)
jalr t9
_or a0,s8,zero
li v0,0x1
lw gp,0x18(sp)
lw v1,0x34(sp)
lw a0,0x103c(sp)
lw v1,0x0(v1)
bne a0,v1,0x001ff378
_lw ra,0x1064(sp)
lw s8,0x1060(sp)
lw s7,0x105c(sp)
lw s6,0x1058(sp)
lw s5,0x1054(sp)
lw s4,0x1050(sp)
lw s3,0x104c(sp)
lw s2,0x1048(sp)
lw s1,0x1044(sp)
lw s0,0x1040(sp)
ldc1 f22,0x1070(sp)
ldc1 f20,0x1068(sp)
jr ra
_addiu sp,sp,0x1078
bne s3,zero,0x001fec34
_nop
addu a0,v0,s6
sll t5,t4,0x2
sll t7,a0,0x2
addu t7,s5,t7
addu t7,t7,t5
lwc1 f0,0x0(t7)
c.eq.S f0,f20
bc1f 0x1,0x001fed48
_seb t6,a1
ori t6,t6,0x2
andi a1,t6,0xff
bne a2,zero,0x001feb88
_nop
beq s1,s0,0x001fec34
_nop
sll a0,v0,0x1
sll t5,t4,0x2
addu t4,a0,s6
sll t4,t4,0x2
addu t4,s5,t4
addu t7,t4,t5
lwc1 f0,0x0(t7)
c.eq.S f0,f20
bc1f 0x1,0x001febe8
_seb t6,a1
ori t6,t6,0x4
beq a2,zero,0x001febe8
_andi a1,t6,0xff
addu t4,t4,t5
lwc1 f0,0x4(t4)
c.eq.S f0,f20
bc1f 0x4,0x001feda8
_li t2,0x3
ori a1,t6,0x20
andi a1,a1,0xff
beq s1,t2,0x001fec34
_addu v0,a0,v0
addu v0,v0,s6
sll v0,v0,0x2
addu v0,s5,v0
addu t2,v0,t5
lwc1 f0,0x0(t2)
c.eq.S f0,f20
bc1t 0x5,0x001fec28
_seb a0,a1
addu t5,v0,t5
lwc1 f0,0x4(t5)
c.eq.S f0,f20
bc1f 0x001fec34
_nop
andi a1,a0,0x7f
beq s4,zero,0x001fec3c
_ori a1,a1,0x80
li a2,-0x1e
lw t9,-0x6f1c(gp)
srl a0,a1,0x6
sb a2,0x38(sp)
li a2,-0x60
andi v0,a1,0x3f
or a0,a0,a2
li a2,-0x80
sb a0,0x39(sp)
li a1,0x3
or v0,v0,a2
sb v0,0x3a(sp)
or a2,s7,zero
jalr t9
_or a0,s8,zero
b 0x001fec58
_lw gp,0x18(sp)
lw a1,-0x7fd0(gp)
or a0,s1,zero
lw t9,-0x77a0(gp)
jalr t9
_addiu a1,a1,0x46dc
lw gp,0x18(sp)
bne v0,zero,0x001ff260
_or s4,v0,zero
li v0,0x1
li s1,0x4
b 0x001fe9f8
_sw v0,0x24(sp)
lw t4,0x40(t2)
beq t4,zero,0x001ff050
_or t5,t4,zero
lw a2,0x44(t2)
addu a2,s6,a2
sll a2,a2,0x2
addu a2,s5,a2
lwc1 f0,0x0(a2)
c.eq.S f0,f22
bc1t 0x2,0x001fee94
_li a1,0x1
or a1,zero,zero
slt a2,a0,v0
beq a2,zero,0x001feec4
_andi a1,a1,0xff
lw t6,0x44(t2)
addu a0,a0,t6
sll a0,a0,0x2
addu a0,s5,a0
lwc1 f0,0x0(a0)
c.eq.S f22,f0
li a0,0x8
movf a0,zero,0x1
or a1,a0,a1
bne s3,zero,0x001fec34
_nop
beq t4,zero,0x001feeec
_mtc1 zero,f0
lw a0,0x44(t2)
addu t6,v0,s6
addu a0,a0,t6
sll a0,a0,0x2
addu a0,s5,a0
lwc1 f0,0x0(a0)
c.eq.S f22,f0
bc1f 0x6,0x001fef00
_seb a0,a1
ori a0,a0,0x2
andi a1,a0,0xff
beq a2,zero,0x001ff074
_nop
beq t4,zero,0x001fef2c
_mtc1 zero,f0
addu t7,v0,s6
lw t6,0x44(t2)
addiu t7,t7,0x1
addu t6,t6,t7
sll t6,t6,0x2
addu t6,s5,t6
lwc1 f0,0x0(t6)
c.eq.S f22,f0
bc1f 0x7,0x001fef40
_nop
ori a1,a0,0x10
andi a1,a1,0xff
beq s1,s0,0x001fec34
_nop
sll a0,v0,0x1
beq t4,zero,0x001ff08c
_addu t7,a0,s6
lw t6,0x44(t2)
addu t6,t7,t6
sll t6,t6,0x2
addu t6,s5,t6
lwc1 f0,0x0(t6)
c.eq.S f22,f0
bc1f 0x2,0x001fef7c
_seb t6,a1
ori t6,t6,0x4
andi a1,t6,0xff
beq a2,zero,0x001febe8
_nop
beq t4,zero,0x001fefa4
_mtc1 zero,f0
lw t3,0x44(t2)
addiu t7,t7,0x1
addu t7,t3,t7
sll t3,t7,0x2
addu t3,s5,t3
lwc1 f0,0x0(t3)
c.eq.S f22,f0
bc1f 0x3,0x001fefb8
_li t3,0x3
ori a1,t6,0x20
andi a1,a1,0xff
beq s1,t3,0x001fec34
_nop
addu v0,a0,v0
beq t5,zero,0x001ff0a8
_addu v0,v0,s6
lw t3,0x44(t2)
addu t3,v0,t3
sll t3,t3,0x2
addu t3,s5,t3
lwc1 f0,0x0(t3)
c.eq.S f22,f0
bc1f 0x6,0x001feff4
_seb t3,a1
ori t3,t3,0x40
andi a1,t3,0xff
beq a2,zero,0x001fec34
_nop
beq t5,zero,0x001ff01c
_mtc1 zero,f0
lw a0,0x44(t2)
addiu v0,v0,0x1
addu v0,a0,v0
sll v0,v0,0x2
addu v0,s5,v0
lwc1 f0,0x0(v0)
c.eq.S f22,f0
bc1f 0x7,0x001fec34
_nop
andi a1,t3,0x7f
b 0x001fec34
_ori a1,a1,0x80
or a0,s8,zero
lw t9,-0x78d4(gp)
addu a1,a1,v0
jalr t9
_lbu a1,0x0(a1)
b 0x001fec58
_lw gp,0x18(sp)
c.eq.S f22,f20
bc1t 0x2,0x001ff060
_li a1,0x1
or a1,zero,zero
slt a2,a0,v0
beq a2,zero,0x001feec4
_andi a1,a1,0xff
b 0x001feeb4
_mtc1 zero,f0
beq s1,s0,0x001fec34
_nop
sll a0,v0,0x1
or t5,t4,zero
bne t4,zero,0x001fef54
_addu t7,a0,s6
b 0x001fef68
_mtc1 zero,f0
li a1,0xa
jalr t9
_or a0,s8,zero
b 0x001fec78
_lw gp,0x18(sp)
b 0x001fefe0
_mtc1 zero,f0
b 0x001fefc0
_lw t5,0x40(t2)
or a0,s8,zero
lw t9,-0x74b4(gp)
addiu s0,sp,0x3c
lw a2,0x28(sp)
jalr t9
_addiu a1,a1,-0x1920
beq v0,zero,0x001ff10c
_lw gp,0x18(sp)
lw a2,-0x7f64(gp)
li a1,0x1000
lw t9,-0x7b34(gp)
or a0,s0,zero
or a3,v0,zero
jalr t9
_addiu a2,a2,-0x1bb4
or a1,s0,zero
lw gp,0x18(sp)
lw t9,-0x7308(gp)
jalr t9
_or a0,s8,zero
lw gp,0x18(sp)
lw v0,0x230(s8)
beq v0,zero,0x001ff154
_nop
mtc1 v0,f0
lw a2,-0x7fc4(gp)
li a1,0x1000
lw t9,-0x7b34(gp)
or a0,s0,zero
addiu a2,a2,0x98c
cvt.d.W f0,f0
jalr t9
_sdc1 f0,0x10(sp)
or a1,s0,zero
lw gp,0x18(sp)
lw t9,-0x7308(gp)
jalr t9
_or a0,s8,zero
lw gp,0x18(sp)
lw v0,0x234(s8)
beq v0,zero,0x001ff198
_li a1,0x1000
mtc1 v0,f0
lw a2,-0x7fc4(gp)
lw t9,-0x7b34(gp)
or a0,s0,zero
addiu a2,a2,0x998
cvt.d.W f0,f0
jalr t9
_sdc1 f0,0x10(sp)
or a1,s0,zero
lw gp,0x18(sp)
lw t9,-0x7308(gp)
jalr t9
_or a0,s8,zero
lw gp,0x18(sp)
lw v0,0x18(s8)
li v1,-0x2
addiu v0,v0,0x1
and v0,v0,v1
mtc1 v0,f0
bgez v0,0x001ff1c0
_cvt.d.W f0,f0
lw v0,-0x7fd0(gp)
ldc1 f2,0x1418(v0)
add.D f0,f0,f2
lw a2,-0x7fc4(gp)
li a1,0x1000
lw t9,-0x7b34(gp)
or a0,s0,zero
sdc1 f0,0x10(sp)
jalr t9
_addiu a2,a2,0x9a4
or a1,s0,zero
lw gp,0x18(sp)
lw t9,-0x7308(gp)
jalr t9
_or a0,s8,zero
lw v0,0x1c(s8)
lw gp,0x18(sp)
mtc1 v0,f0
bgez v0,0x001ff210
_cvt.d.W f0,f0
lw v0,-0x7fd0(gp)
ldc1 f2,0x1418(v0)
add.D f0,f0,f2
lw a2,-0x7fc4(gp)
li a1,0x1000
lw t9,-0x7b34(gp)
or a0,s0,zero
sdc1 f0,0x10(sp)
jalr t9
_addiu a2,a2,0x9b4
or a1,s0,zero
lw gp,0x18(sp)
lw t9,-0x7308(gp)
jalr t9
_or a0,s8,zero
or a0,s8,zero
lw gp,0x18(sp)
lw a1,-0x7fc4(gp)
lw t9,-0x7308(gp)
jalr t9
_addiu a1,a1,-0x4bdc
b 0x001fea4c
_lw gp,0x18(sp)
lw a1,-0x7fd0(gp)
or a0,s1,zero
lw t9,-0x77a0(gp)
li s1,0x3
or s4,zero,zero
jalr t9
_addiu a1,a1,0x46e4
sltiu v0,v0,0x1
lw gp,0x18(sp)
b 0x001fe9f8
_sw v0,0x24(sp)
lw t9,-0x7a0c(gp)
or a0,s8,zero
jalr t9
_lw a1,0x28(s8)
lw gp,0x18(sp)
lw v0,-0x7fd0(gp)
ldc1 f2,0x1ad0(v0)
c.le.D f2,f0
bc1f 0x001ff2bc
_mtc1 zero,f22
lw v0,-0x7fc8(gp)
lwc1 f22,-0x5a8c(v0)
lw v1,0x24(s8)
li v0,0x2
bne v1,v0,0x001fea74
_lw t9,-0x7a0c(gp)
or a0,s8,zero
jalr t9
_lw a1,0x28(s8)
or a0,s8,zero
lw gp,0x18(sp)
mov.D f20,f0
lw a1,0x28(s8)
lw t9,-0x7a0c(gp)
jalr t9
_addiu a1,a1,0x58
c.le.D f0,f20
bc1f 0x1,0x001fea70
_lw gp,0x18(sp)
lw v0,-0x7fc8(gp)
b 0x001fea74
_lwc1 f22,-0x5a8c(v0)
lw a3,-0x7fc4(gp)
li a2,0xdd
lw a1,-0x7fc4(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0xaa4
addiu a1,a1,0x978
jalr t9
_addiu a0,a0,0xdd0
lw a3,-0x7fc4(gp)
li a2,0xdc
lw a1,-0x7fc4(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0xaa4
addiu a1,a1,0x978
jalr t9
_addiu a0,a0,0xda0
lw a3,-0x7fc4(gp)
li a2,0xdb
lw a1,-0x7fc4(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0xaa4
addiu a1,a1,0x978
jalr t9
_addiu a0,a0,0xd78
lw t9,-0x784c(gp)
jalr t9
_nop
li a2,0xf4
lw a1,-0x7fc4(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0xaa4
addiu a1,a1,0x978
jalr t9
_addiu a0,a0,0x294c
li a2,0xf3
lw a1,-0x7fc4(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0xaa4
addiu a1,a1,0x978
jalr t9
_addiu a0,a0,0x1cac
lw a3,-0x7fc4(gp)
li a2,0xde
lw a1,-0x7fc4(gp)
lw a0,-0x7fc8(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0xaa4
addiu a1,a1,0x978
jalr t9
_addiu a0,a0,-0x3784
(translation_unit "int FUN_001fe8e0(int param_1,int *param_2,undefined *param_3)\n\n{\n  bool bVar1;\n  bool bVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  undefined *puVar6;\n  int iVar7;\n  undefined *puVar8;\n  int iVar9;\n  undefined *puVar10;\n  undefined1 *puVar11;\n  int iVar12;\n  undefined *puVar13;\n  int iVar14;\n  int iVar15;\n  uint uVar16;\n  uint uVar17;\n  int iVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined *puVar21;\n  int iVar22;\n  float fVar25;\n  float fVar26;\n  double dVar23;\n  double dVar24;\n  undefined8 uVar27;\n  ulonglong uVar28;\n  float fVar29;\n  undefined1 local_1040;\n  byte local_103f;\n  byte local_103e;\n  undefined1 auStack_103c [4096];\n  int local_3c;\n  \n  puVar6 = PTR___stack_chk_guard_003a9230;\n  local_3c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  if (param_2 == (int *)0x0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  if (param_2[0xcdb] != -0x54535255) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                       PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  iVar18 = param_1 + 0x210;\n  iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46cc);\n  if (iVar7 == 0) {\n    puVar19 = &DAT_00000004;\n    bVar5 = true;\n    bVar3 = false;\nLAB_001fe9f8:\n    iVar7 = param_2[0xcd4];\n  }\n  else {\n    iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46d4);\n    if (iVar7 != 0) {\n      iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc);\n      if (iVar7 == 0) {\n        puVar19 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }\n      goto LAB_001fe9f8;\n    }\n    iVar7 = param_2[0xcd4];\n    puVar19 = (undefined1 *)0x3;\n    bVar5 = true;\n    bVar3 = false;\n  }\n  if (iVar7 != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0xd0);\n  }\n  if (param_3 == (undefined *)0x0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  puVar13 = PTR_s_courses_003a88ec;\n  if (*(int *)(param_3 + 0x1c) != -0x54535255) goto LAB_001ff384;\n  puVar13 = param_3;\n  iVar7 = (*(code *)PTR_OpenBlob_003a924c)(param_1,param_2,4,param_3);\n  if (iVar7 != 0) {\n    if (!bVar3) {\n      puVar10 = (undefined *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          );\n      if (puVar10 != (undefined *)0x0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n        puVar13 = puVar10;\n      }\n      if (param_2[0x8c] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      if (param_2[0x8d] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9a4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9b4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,PTR_s_courses_003a88ec + -0x4bdc);\n    }\n    (*(code *)PTR_SetImageType_003a9188)(param_2,1,param_3);\n    if (*param_2 == 2) {\n      dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n      uVar28 = 0;\n      if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar23) {\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n      if (param_2[9] == 2) {\n        dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n        dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58);\n        if (dVar23 < dVar24) goto LAB_001fea70;\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n    }\n    else {\nLAB_001fea70:\n      uVar28 = 0;\n    }\n    puVar10 = PTR_s_courses_003a88ec;\n    puVar11 = (undefined1 *)param_2[7];\n    if (0 < (int)puVar11) {\n      puVar21 = (undefined *)0x0;\n      puVar8 = PTR_s_courses_003a88ec + -0x15c;\n      puVar20 = puVar19;\n      do {\n        if (puVar11 < puVar19) {\n          puVar20 = puVar11 + -(int)puVar21;\n        }\n        puVar13 = (undefined *)param_2[6];\n        iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3);\n        if (iVar7 == 0) break;\n        iVar18 = param_2[6];\n        if (0 < iVar18) {\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }\n        puVar13 = puVar21;\n        iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7]);\n        if (iVar7 == 0) break;\n        puVar11 = (undefined1 *)param_2[7];\n        puVar21 = puVar21 + (int)puVar20;\n        puVar19 = puVar21 + (int)puVar20;\n      } while ((int)puVar21 < (int)puVar11);\n    }\n    (*(code *)PTR_CloseBlob_003a9688)(param_2);\n    iVar7 = 1;\n  }\n  if (local_3c == *(int *)puVar6) {\n    return iVar7;\n  }\n  (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_001ff384:\n  iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                    (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + 0x978,0xf4,puVar13 + 0xaa4);\n  return iVar7;\n}\n\n" (function_definition "int FUN_001fe8e0(int param_1,int *param_2,undefined *param_3)\n\n{\n  bool bVar1;\n  bool bVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  undefined *puVar6;\n  int iVar7;\n  undefined *puVar8;\n  int iVar9;\n  undefined *puVar10;\n  undefined1 *puVar11;\n  int iVar12;\n  undefined *puVar13;\n  int iVar14;\n  int iVar15;\n  uint uVar16;\n  uint uVar17;\n  int iVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined *puVar21;\n  int iVar22;\n  float fVar25;\n  float fVar26;\n  double dVar23;\n  double dVar24;\n  undefined8 uVar27;\n  ulonglong uVar28;\n  float fVar29;\n  undefined1 local_1040;\n  byte local_103f;\n  byte local_103e;\n  undefined1 auStack_103c [4096];\n  int local_3c;\n  \n  puVar6 = PTR___stack_chk_guard_003a9230;\n  local_3c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  if (param_2 == (int *)0x0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  if (param_2[0xcdb] != -0x54535255) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                       PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  iVar18 = param_1 + 0x210;\n  iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46cc);\n  if (iVar7 == 0) {\n    puVar19 = &DAT_00000004;\n    bVar5 = true;\n    bVar3 = false;\nLAB_001fe9f8:\n    iVar7 = param_2[0xcd4];\n  }\n  else {\n    iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46d4);\n    if (iVar7 != 0) {\n      iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc);\n      if (iVar7 == 0) {\n        puVar19 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }\n      goto LAB_001fe9f8;\n    }\n    iVar7 = param_2[0xcd4];\n    puVar19 = (undefined1 *)0x3;\n    bVar5 = true;\n    bVar3 = false;\n  }\n  if (iVar7 != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0xd0);\n  }\n  if (param_3 == (undefined *)0x0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  puVar13 = PTR_s_courses_003a88ec;\n  if (*(int *)(param_3 + 0x1c) != -0x54535255) goto LAB_001ff384;\n  puVar13 = param_3;\n  iVar7 = (*(code *)PTR_OpenBlob_003a924c)(param_1,param_2,4,param_3);\n  if (iVar7 != 0) {\n    if (!bVar3) {\n      puVar10 = (undefined *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          );\n      if (puVar10 != (undefined *)0x0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n        puVar13 = puVar10;\n      }\n      if (param_2[0x8c] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      if (param_2[0x8d] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9a4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9b4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,PTR_s_courses_003a88ec + -0x4bdc);\n    }\n    (*(code *)PTR_SetImageType_003a9188)(param_2,1,param_3);\n    if (*param_2 == 2) {\n      dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n      uVar28 = 0;\n      if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar23) {\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n      if (param_2[9] == 2) {\n        dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n        dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58);\n        if (dVar23 < dVar24) goto LAB_001fea70;\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n    }\n    else {\nLAB_001fea70:\n      uVar28 = 0;\n    }\n    puVar10 = PTR_s_courses_003a88ec;\n    puVar11 = (undefined1 *)param_2[7];\n    if (0 < (int)puVar11) {\n      puVar21 = (undefined *)0x0;\n      puVar8 = PTR_s_courses_003a88ec + -0x15c;\n      puVar20 = puVar19;\n      do {\n        if (puVar11 < puVar19) {\n          puVar20 = puVar11 + -(int)puVar21;\n        }\n        puVar13 = (undefined *)param_2[6];\n        iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3);\n        if (iVar7 == 0) break;\n        iVar18 = param_2[6];\n        if (0 < iVar18) {\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }\n        puVar13 = puVar21;\n        iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7]);\n        if (iVar7 == 0) break;\n        puVar11 = (undefined1 *)param_2[7];\n        puVar21 = puVar21 + (int)puVar20;\n        puVar19 = puVar21 + (int)puVar20;\n      } while ((int)puVar21 < (int)puVar11);\n    }\n    (*(code *)PTR_CloseBlob_003a9688)(param_2);\n    iVar7 = 1;\n  }\n  if (local_3c == *(int *)puVar6) {\n    return iVar7;\n  }\n  (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_001ff384:\n  iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                    (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + 0x978,0xf4,puVar13 + 0xaa4);\n  return iVar7;\n}" primitive_type (function_declarator "FUN_001fe8e0(int param_1,int *param_2,undefined *param_3)" identifier (parameter_list "(int param_1,int *param_2,undefined *param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  bool bVar1;\n  bool bVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  undefined *puVar6;\n  int iVar7;\n  undefined *puVar8;\n  int iVar9;\n  undefined *puVar10;\n  undefined1 *puVar11;\n  int iVar12;\n  undefined *puVar13;\n  int iVar14;\n  int iVar15;\n  uint uVar16;\n  uint uVar17;\n  int iVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined *puVar21;\n  int iVar22;\n  float fVar25;\n  float fVar26;\n  double dVar23;\n  double dVar24;\n  undefined8 uVar27;\n  ulonglong uVar28;\n  float fVar29;\n  undefined1 local_1040;\n  byte local_103f;\n  byte local_103e;\n  undefined1 auStack_103c [4096];\n  int local_3c;\n  \n  puVar6 = PTR___stack_chk_guard_003a9230;\n  local_3c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  if (param_2 == (int *)0x0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  if (param_2[0xcdb] != -0x54535255) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                       PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  iVar18 = param_1 + 0x210;\n  iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46cc);\n  if (iVar7 == 0) {\n    puVar19 = &DAT_00000004;\n    bVar5 = true;\n    bVar3 = false;\nLAB_001fe9f8:\n    iVar7 = param_2[0xcd4];\n  }\n  else {\n    iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46d4);\n    if (iVar7 != 0) {\n      iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc);\n      if (iVar7 == 0) {\n        puVar19 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }\n      goto LAB_001fe9f8;\n    }\n    iVar7 = param_2[0xcd4];\n    puVar19 = (undefined1 *)0x3;\n    bVar5 = true;\n    bVar3 = false;\n  }\n  if (iVar7 != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0xd0);\n  }\n  if (param_3 == (undefined *)0x0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  puVar13 = PTR_s_courses_003a88ec;\n  if (*(int *)(param_3 + 0x1c) != -0x54535255) goto LAB_001ff384;\n  puVar13 = param_3;\n  iVar7 = (*(code *)PTR_OpenBlob_003a924c)(param_1,param_2,4,param_3);\n  if (iVar7 != 0) {\n    if (!bVar3) {\n      puVar10 = (undefined *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          );\n      if (puVar10 != (undefined *)0x0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n        puVar13 = puVar10;\n      }\n      if (param_2[0x8c] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      if (param_2[0x8d] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9a4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9b4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,PTR_s_courses_003a88ec + -0x4bdc);\n    }\n    (*(code *)PTR_SetImageType_003a9188)(param_2,1,param_3);\n    if (*param_2 == 2) {\n      dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n      uVar28 = 0;\n      if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar23) {\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n      if (param_2[9] == 2) {\n        dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n        dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58);\n        if (dVar23 < dVar24) goto LAB_001fea70;\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n    }\n    else {\nLAB_001fea70:\n      uVar28 = 0;\n    }\n    puVar10 = PTR_s_courses_003a88ec;\n    puVar11 = (undefined1 *)param_2[7];\n    if (0 < (int)puVar11) {\n      puVar21 = (undefined *)0x0;\n      puVar8 = PTR_s_courses_003a88ec + -0x15c;\n      puVar20 = puVar19;\n      do {\n        if (puVar11 < puVar19) {\n          puVar20 = puVar11 + -(int)puVar21;\n        }\n        puVar13 = (undefined *)param_2[6];\n        iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3);\n        if (iVar7 == 0) break;\n        iVar18 = param_2[6];\n        if (0 < iVar18) {\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }\n        puVar13 = puVar21;\n        iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7]);\n        if (iVar7 == 0) break;\n        puVar11 = (undefined1 *)param_2[7];\n        puVar21 = puVar21 + (int)puVar20;\n        puVar19 = puVar21 + (int)puVar20;\n      } while ((int)puVar21 < (int)puVar11);\n    }\n    (*(code *)PTR_CloseBlob_003a9688)(param_2);\n    iVar7 = 1;\n  }\n  if (local_3c == *(int *)puVar6) {\n    return iVar7;\n  }\n  (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_001ff384:\n  iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                    (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + 0x978,0xf4,puVar13 + 0xaa4);\n  return iVar7;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined1 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "undefined1 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "undefined1 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "undefined *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "float fVar25;" primitive_type identifier ;) (declaration "float fVar26;" primitive_type identifier ;) (declaration "double dVar23;" primitive_type identifier ;) (declaration "double dVar24;" primitive_type identifier ;) (declaration "undefined8 uVar27;" type_identifier identifier ;) (declaration "ulonglong uVar28;" type_identifier identifier ;) (declaration "float fVar29;" primitive_type identifier ;) (declaration "undefined1 local_1040;" type_identifier identifier ;) (declaration "byte local_103f;" type_identifier identifier ;) (declaration "byte local_103e;" type_identifier identifier ;) (declaration "undefined1 auStack_103c [4096];" type_identifier (array_declarator "auStack_103c [4096]" identifier [ number_literal ]) ;) (declaration "int local_3c;" primitive_type identifier ;) (expression_statement "puVar6 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar6 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "local_3c = *(int *)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_3c = *(int *)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_003a9230" * (cast_expression "(int *)PTR___stack_chk_guard_003a9230" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (param_1 == 0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }" { (expression_statement "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,\n                       PTR_s_courses_003a88ec + 0xaa4);" (assignment_expression "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,\n                       PTR_s_courses_003a88ec + 0xaa4)" identifier = (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,\n                       PTR_s_courses_003a88ec + 0xaa4)" (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_s_courses_003a88ec + 0x978,0xdb,\n                       PTR_s_courses_003a88ec + 0xaa4)" ( (binary_expression "PTR_LAB_003a88e0 + 0xd78" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + 0x978" identifier + number_literal) , number_literal , (binary_expression "PTR_s_courses_003a88ec + 0xaa4" identifier + number_literal) )))) ;) (return_statement "return iVar7;" return identifier ;) })) (if_statement "if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\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    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }" { (expression_statement "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,\n                       PTR_s_courses_003a88ec + 0xaa4);" (assignment_expression "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,\n                       PTR_s_courses_003a88ec + 0xaa4)" identifier = (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,\n                       PTR_s_courses_003a88ec + 0xaa4)" (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_s_courses_003a88ec + 0x978,0xdc,\n                       PTR_s_courses_003a88ec + 0xaa4)" ( (binary_expression "PTR_LAB_003a88e0 + 0xda0" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + 0x978" identifier + number_literal) , number_literal , (binary_expression "PTR_s_courses_003a88ec + 0xaa4" identifier + number_literal) )))) ;) (return_statement "return iVar7;" return identifier ;) })) (if_statement "if (param_2 == (int *)0x0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }" if (parenthesized_expression "(param_2 == (int *)0x0)" ( (binary_expression "param_2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }" { (expression_statement "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                       PTR_s_courses_003a88ec + 0xaa4);" (assignment_expression "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                       PTR_s_courses_003a88ec + 0xaa4)" identifier = (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                       PTR_s_courses_003a88ec + 0xaa4)" (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 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                       PTR_s_courses_003a88ec + 0xaa4)" ( (binary_expression "PTR_LAB_003a88e0 + 0xdd0" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + 0x978" identifier + number_literal) , number_literal , (binary_expression "PTR_s_courses_003a88ec + 0xaa4" identifier + number_literal) )))) ;) (return_statement "return iVar7;" return identifier ;) })) (if_statement "if (param_2[0xcdb] != -0x54535255) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                       PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }" if (parenthesized_expression "(param_2[0xcdb] != -0x54535255)" ( (binary_expression "param_2[0xcdb] != -0x54535255" (subscript_expression "param_2[0xcdb]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                       PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }" { (expression_statement "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                       PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4);" (assignment_expression "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                       PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4)" identifier = (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                      (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                       PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                       PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + 0x978" identifier + number_literal) , number_literal , (binary_expression "PTR_s_courses_003a88ec + 0xaa4" identifier + number_literal) )))) ;) (return_statement "return iVar7;" return identifier ;) })) (expression_statement "iVar18 = param_1 + 0x210;" (assignment_expression "iVar18 = param_1 + 0x210" identifier = (binary_expression "param_1 + 0x210" identifier + number_literal)) ;) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46cc);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46cc)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46cc)" (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 "(iVar18,PTR_LAB_003a88e0 + 0x46cc)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x46cc" identifier + number_literal) )))) ;) (if_statement "if (iVar7 == 0) {\n    puVar19 = &DAT_00000004;\n    bVar5 = true;\n    bVar3 = false;\nLAB_001fe9f8:\n    iVar7 = param_2[0xcd4];\n  }\n  else {\n    iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46d4);\n    if (iVar7 != 0) {\n      iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc);\n      if (iVar7 == 0) {\n        puVar19 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }\n      goto LAB_001fe9f8;\n    }\n    iVar7 = param_2[0xcd4];\n    puVar19 = (undefined1 *)0x3;\n    bVar5 = true;\n    bVar3 = false;\n  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n    puVar19 = &DAT_00000004;\n    bVar5 = true;\n    bVar3 = false;\nLAB_001fe9f8:\n    iVar7 = param_2[0xcd4];\n  }" { (expression_statement "puVar19 = &DAT_00000004;" (assignment_expression "puVar19 = &DAT_00000004" identifier = (pointer_expression "&DAT_00000004" & identifier)) ;) (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" identifier = true) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (labeled_statement "LAB_001fe9f8:\n    iVar7 = param_2[0xcd4];" statement_identifier : (expression_statement "iVar7 = param_2[0xcd4];" (assignment_expression "iVar7 = param_2[0xcd4]" identifier = (subscript_expression "param_2[0xcd4]" identifier [ number_literal ])) ;)) }) (else_clause "else {\n    iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46d4);\n    if (iVar7 != 0) {\n      iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc);\n      if (iVar7 == 0) {\n        puVar19 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }\n      goto LAB_001fe9f8;\n    }\n    iVar7 = param_2[0xcd4];\n    puVar19 = (undefined1 *)0x3;\n    bVar5 = true;\n    bVar3 = false;\n  }" else (compound_statement "{\n    iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46d4);\n    if (iVar7 != 0) {\n      iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc);\n      if (iVar7 == 0) {\n        puVar19 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }\n      goto LAB_001fe9f8;\n    }\n    iVar7 = param_2[0xcd4];\n    puVar19 = (undefined1 *)0x3;\n    bVar5 = true;\n    bVar3 = false;\n  }" { (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46d4);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46d4)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46d4)" (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 "(iVar18,PTR_LAB_003a88e0 + 0x46d4)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x46d4" identifier + number_literal) )))) ;) (if_statement "if (iVar7 != 0) {\n      iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc);\n      if (iVar7 == 0) {\n        puVar19 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }\n      goto LAB_001fe9f8;\n    }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc);\n      if (iVar7 == 0) {\n        puVar19 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }\n      goto LAB_001fe9f8;\n    }" { (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc)" (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 "(iVar18,PTR_LAB_003a88e0 + 0x46dc)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x46dc" identifier + number_literal) )))) ;) (if_statement "if (iVar7 == 0) {\n        puVar19 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        puVar19 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }" { (expression_statement "puVar19 = &DAT_00000004;" (assignment_expression "puVar19 = &DAT_00000004" identifier = (pointer_expression "&DAT_00000004" & identifier)) ;) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) }) (else_clause "else {\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }" else (compound_statement "{\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }" { (expression_statement "puVar19 = (undefined1 *)0x3;" (assignment_expression "puVar19 = (undefined1 *)0x3" identifier = (cast_expression "(undefined1 *)0x3" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4)" (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 "(iVar18,PTR_LAB_003a88e0 + 0x46e4)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x46e4" identifier + number_literal) )))) ;) (expression_statement "bVar3 = iVar7 == 0;" (assignment_expression "bVar3 = iVar7 == 0" identifier = (binary_expression "iVar7 == 0" identifier == number_literal)) ;) }))) (goto_statement "goto LAB_001fe9f8;" goto statement_identifier ;) })) (expression_statement "iVar7 = param_2[0xcd4];" (assignment_expression "iVar7 = param_2[0xcd4]" identifier = (subscript_expression "param_2[0xcd4]" identifier [ number_literal ])) ;) (expression_statement "puVar19 = (undefined1 *)0x3;" (assignment_expression "puVar19 = (undefined1 *)0x3" identifier = (cast_expression "(undefined1 *)0x3" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" identifier = true) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) }))) (if_statement "if (iVar7 != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0xd0);\n  }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0xd0);\n  }" { (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0xd0);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0xd0)" (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_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0xd0)" ( number_literal , (binary_expression "PTR_s_courses_003a88ec + 0x978" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + 0xa90" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" identifier + number_literal) , (binary_expression "param_2 + 0xd0" identifier + number_literal) ))) ;) })) (if_statement "if (param_3 == (undefined *)0x0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }" if (parenthesized_expression "(param_3 == (undefined *)0x0)" ( (binary_expression "param_3 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }" { (expression_statement "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,\n                       PTR_s_courses_003a88ec + 0xaa4);" (assignment_expression "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,\n                       PTR_s_courses_003a88ec + 0xaa4)" identifier = (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,\n                       PTR_s_courses_003a88ec + 0xaa4)" (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_s_courses_003a88ec + 0x978,0xf3,\n                       PTR_s_courses_003a88ec + 0xaa4)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1cac" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + 0x978" identifier + number_literal) , number_literal , (binary_expression "PTR_s_courses_003a88ec + 0xaa4" identifier + number_literal) )))) ;) (return_statement "return iVar7;" return identifier ;) })) (expression_statement "puVar13 = PTR_s_courses_003a88ec;" (assignment_expression "puVar13 = PTR_s_courses_003a88ec" identifier = identifier) ;) (if_statement "if (*(int *)(param_3 + 0x1c) != -0x54535255) goto LAB_001ff384;" if (parenthesized_expression "(*(int *)(param_3 + 0x1c) != -0x54535255)" ( (binary_expression "*(int *)(param_3 + 0x1c) != -0x54535255" (pointer_expression "*(int *)(param_3 + 0x1c)" * (cast_expression "(int *)(param_3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1c)" ( (binary_expression "param_3 + 0x1c" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_001ff384;" goto statement_identifier ;)) (expression_statement "puVar13 = param_3;" (assignment_expression "puVar13 = param_3" identifier = identifier) ;) (expression_statement "iVar7 = (*(code *)PTR_OpenBlob_003a924c)(param_1,param_2,4,param_3);" (assignment_expression "iVar7 = (*(code *)PTR_OpenBlob_003a924c)(param_1,param_2,4,param_3)" identifier = (call_expression "(*(code *)PTR_OpenBlob_003a924c)(param_1,param_2,4,param_3)" (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,param_2,4,param_3)" ( identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar7 != 0) {\n    if (!bVar3) {\n      puVar10 = (undefined *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          );\n      if (puVar10 != (undefined *)0x0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n        puVar13 = puVar10;\n      }\n      if (param_2[0x8c] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      if (param_2[0x8d] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9a4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9b4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,PTR_s_courses_003a88ec + -0x4bdc);\n    }\n    (*(code *)PTR_SetImageType_003a9188)(param_2,1,param_3);\n    if (*param_2 == 2) {\n      dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n      uVar28 = 0;\n      if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar23) {\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n      if (param_2[9] == 2) {\n        dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n        dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58);\n        if (dVar23 < dVar24) goto LAB_001fea70;\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n    }\n    else {\nLAB_001fea70:\n      uVar28 = 0;\n    }\n    puVar10 = PTR_s_courses_003a88ec;\n    puVar11 = (undefined1 *)param_2[7];\n    if (0 < (int)puVar11) {\n      puVar21 = (undefined *)0x0;\n      puVar8 = PTR_s_courses_003a88ec + -0x15c;\n      puVar20 = puVar19;\n      do {\n        if (puVar11 < puVar19) {\n          puVar20 = puVar11 + -(int)puVar21;\n        }\n        puVar13 = (undefined *)param_2[6];\n        iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3);\n        if (iVar7 == 0) break;\n        iVar18 = param_2[6];\n        if (0 < iVar18) {\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }\n        puVar13 = puVar21;\n        iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7]);\n        if (iVar7 == 0) break;\n        puVar11 = (undefined1 *)param_2[7];\n        puVar21 = puVar21 + (int)puVar20;\n        puVar19 = puVar21 + (int)puVar20;\n      } while ((int)puVar21 < (int)puVar11);\n    }\n    (*(code *)PTR_CloseBlob_003a9688)(param_2);\n    iVar7 = 1;\n  }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n    if (!bVar3) {\n      puVar10 = (undefined *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          );\n      if (puVar10 != (undefined *)0x0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n        puVar13 = puVar10;\n      }\n      if (param_2[0x8c] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      if (param_2[0x8d] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9a4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9b4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,PTR_s_courses_003a88ec + -0x4bdc);\n    }\n    (*(code *)PTR_SetImageType_003a9188)(param_2,1,param_3);\n    if (*param_2 == 2) {\n      dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n      uVar28 = 0;\n      if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar23) {\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n      if (param_2[9] == 2) {\n        dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n        dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58);\n        if (dVar23 < dVar24) goto LAB_001fea70;\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n    }\n    else {\nLAB_001fea70:\n      uVar28 = 0;\n    }\n    puVar10 = PTR_s_courses_003a88ec;\n    puVar11 = (undefined1 *)param_2[7];\n    if (0 < (int)puVar11) {\n      puVar21 = (undefined *)0x0;\n      puVar8 = PTR_s_courses_003a88ec + -0x15c;\n      puVar20 = puVar19;\n      do {\n        if (puVar11 < puVar19) {\n          puVar20 = puVar11 + -(int)puVar21;\n        }\n        puVar13 = (undefined *)param_2[6];\n        iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3);\n        if (iVar7 == 0) break;\n        iVar18 = param_2[6];\n        if (0 < iVar18) {\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }\n        puVar13 = puVar21;\n        iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7]);\n        if (iVar7 == 0) break;\n        puVar11 = (undefined1 *)param_2[7];\n        puVar21 = puVar21 + (int)puVar20;\n        puVar19 = puVar21 + (int)puVar20;\n      } while ((int)puVar21 < (int)puVar11);\n    }\n    (*(code *)PTR_CloseBlob_003a9688)(param_2);\n    iVar7 = 1;\n  }" { (if_statement "if (!bVar3) {\n      puVar10 = (undefined *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          );\n      if (puVar10 != (undefined *)0x0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n        puVar13 = puVar10;\n      }\n      if (param_2[0x8c] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      if (param_2[0x8d] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9a4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9b4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,PTR_s_courses_003a88ec + -0x4bdc);\n    }" if (parenthesized_expression "(!bVar3)" ( (unary_expression "!bVar3" ! identifier) )) (compound_statement "{\n      puVar10 = (undefined *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          );\n      if (puVar10 != (undefined *)0x0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n        puVar13 = puVar10;\n      }\n      if (param_2[0x8c] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      if (param_2[0x8d] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9a4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9b4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,PTR_s_courses_003a88ec + -0x4bdc);\n    }" { (expression_statement "puVar10 = (undefined *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          );" (assignment_expression "puVar10 = (undefined *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          )" identifier = (cast_expression "(undefined *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          )" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          )" (parenthesized_expression "(*(code *)PTR_GetImageProperty_003a93fc)" ( (pointer_expression "*(code *)PTR_GetImageProperty_003a93fc" * (cast_expression "(code *)PTR_GetImageProperty_003a93fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          )" ( identifier , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920" identifier + number_literal) , identifier ))))) ;) (if_statement "if (puVar10 != (undefined *)0x0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n        puVar13 = puVar10;\n      }" if (parenthesized_expression "(puVar10 != (undefined *)0x0)" ( (binary_expression "puVar10 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n        puVar13 = puVar10;\n      }" { (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10);" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003a8d7c" * (cast_expression "(code *)PTR_FormatLocaleString_003a8d7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10)" ( identifier , number_literal , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4" identifier + number_literal) , identifier ))) ;) (expression_statement "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);" (call_expression "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c)" (parenthesized_expression "(*(code *)PTR_WriteBlobString_003a95a8)" ( (pointer_expression "*(code *)PTR_WriteBlobString_003a95a8" * (cast_expression "(code *)PTR_WriteBlobString_003a95a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,auStack_103c)" ( identifier , identifier ))) ;) (expression_statement "puVar13 = puVar10;" (assignment_expression "puVar13 = puVar10" identifier = identifier) ;) })) (if_statement "if (param_2[0x8c] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }" if (parenthesized_expression "(param_2[0x8c] != 0)" ( (binary_expression "param_2[0x8c] != 0" (subscript_expression "param_2[0x8c]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }" { (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c);" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003a8d7c" * (cast_expression "(code *)PTR_FormatLocaleString_003a8d7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c)" ( identifier , number_literal , (binary_expression "PTR_s_courses_003a88ec + 0x98c" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);" (call_expression "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c)" (parenthesized_expression "(*(code *)PTR_WriteBlobString_003a95a8)" ( (pointer_expression "*(code *)PTR_WriteBlobString_003a95a8" * (cast_expression "(code *)PTR_WriteBlobString_003a95a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,auStack_103c)" ( identifier , identifier ))) ;) })) (if_statement "if (param_2[0x8d] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }" if (parenthesized_expression "(param_2[0x8d] != 0)" ( (binary_expression "param_2[0x8d] != 0" (subscript_expression "param_2[0x8d]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }" { (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998);" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003a8d7c" * (cast_expression "(code *)PTR_FormatLocaleString_003a8d7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998)" ( identifier , number_literal , (binary_expression "PTR_s_courses_003a88ec + 0x998" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);" (call_expression "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c)" (parenthesized_expression "(*(code *)PTR_WriteBlobString_003a95a8)" ( (pointer_expression "*(code *)PTR_WriteBlobString_003a95a8" * (cast_expression "(code *)PTR_WriteBlobString_003a95a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,auStack_103c)" ( identifier , identifier ))) ;) })) (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9a4)\n      ;" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9a4)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003a8d7c" * (cast_expression "(code *)PTR_FormatLocaleString_003a8d7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9a4)" ( identifier , number_literal , (binary_expression "PTR_s_courses_003a88ec + 0x9a4" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);" (call_expression "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c)" (parenthesized_expression "(*(code *)PTR_WriteBlobString_003a95a8)" ( (pointer_expression "*(code *)PTR_WriteBlobString_003a95a8" * (cast_expression "(code *)PTR_WriteBlobString_003a95a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,auStack_103c)" ( identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9b4)\n      ;" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9b4)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003a8d7c" * (cast_expression "(code *)PTR_FormatLocaleString_003a8d7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9b4)" ( identifier , number_literal , (binary_expression "PTR_s_courses_003a88ec + 0x9b4" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);" (call_expression "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c)" (parenthesized_expression "(*(code *)PTR_WriteBlobString_003a95a8)" ( (pointer_expression "*(code *)PTR_WriteBlobString_003a95a8" * (cast_expression "(code *)PTR_WriteBlobString_003a95a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,auStack_103c)" ( identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,PTR_s_courses_003a88ec + -0x4bdc);" (call_expression "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,PTR_s_courses_003a88ec + -0x4bdc)" (parenthesized_expression "(*(code *)PTR_WriteBlobString_003a95a8)" ( (pointer_expression "*(code *)PTR_WriteBlobString_003a95a8" * (cast_expression "(code *)PTR_WriteBlobString_003a95a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,PTR_s_courses_003a88ec + -0x4bdc)" ( identifier , (binary_expression "PTR_s_courses_003a88ec + -0x4bdc" identifier + number_literal) ))) ;) })) (expression_statement "(*(code *)PTR_SetImageType_003a9188)(param_2,1,param_3);" (call_expression "(*(code *)PTR_SetImageType_003a9188)(param_2,1,param_3)" (parenthesized_expression "(*(code *)PTR_SetImageType_003a9188)" ( (pointer_expression "*(code *)PTR_SetImageType_003a9188" * (cast_expression "(code *)PTR_SetImageType_003a9188" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,1,param_3)" ( identifier , number_literal , identifier ))) ;) (if_statement "if (*param_2 == 2) {\n      dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n      uVar28 = 0;\n      if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar23) {\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n      if (param_2[9] == 2) {\n        dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n        dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58);\n        if (dVar23 < dVar24) goto LAB_001fea70;\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n    }\n    else {\nLAB_001fea70:\n      uVar28 = 0;\n    }" if (parenthesized_expression "(*param_2 == 2)" ( (binary_expression "*param_2 == 2" (pointer_expression "*param_2" * identifier) == number_literal) )) (compound_statement "{\n      dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n      uVar28 = 0;\n      if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar23) {\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n      if (param_2[9] == 2) {\n        dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n        dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58);\n        if (dVar23 < dVar24) goto LAB_001fea70;\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n    }" { (expression_statement "dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);" (assignment_expression "dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10])" identifier = (cast_expression "(double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10])" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10])" (parenthesized_expression "(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)" ( (pointer_expression "*(code *)PTR_GetPixelInfoIntensity_003a8ea4" * (cast_expression "(code *)PTR_GetPixelInfoIntensity_003a8ea4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,param_2[10])" ( identifier , (subscript_expression "param_2[10]" identifier [ number_literal ]) ))))) ;) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (if_statement "if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar23) {\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }" if (parenthesized_expression "(*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar23)" ( (binary_expression "*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar23" (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1ad0)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1ad0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1ad0)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1ad0" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }" { (expression_statement "uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);" (assignment_expression "uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" identifier = (binary_expression "(ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c" identifier + number_literal) ))))) ;) })) (if_statement "if (param_2[9] == 2) {\n        dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n        dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58);\n        if (dVar23 < dVar24) goto LAB_001fea70;\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }" if (parenthesized_expression "(param_2[9] == 2)" ( (binary_expression "param_2[9] == 2" (subscript_expression "param_2[9]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n        dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58);\n        if (dVar23 < dVar24) goto LAB_001fea70;\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }" { (expression_statement "dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);" (assignment_expression "dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10])" identifier = (cast_expression "(double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10])" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10])" (parenthesized_expression "(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)" ( (pointer_expression "*(code *)PTR_GetPixelInfoIntensity_003a8ea4" * (cast_expression "(code *)PTR_GetPixelInfoIntensity_003a8ea4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,param_2[10])" ( identifier , (subscript_expression "param_2[10]" identifier [ number_literal ]) ))))) ;) (expression_statement "dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58);" (assignment_expression "dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58)" identifier = (cast_expression "(double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58)" (parenthesized_expression "(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)" ( (pointer_expression "*(code *)PTR_GetPixelInfoIntensity_003a8ea4" * (cast_expression "(code *)PTR_GetPixelInfoIntensity_003a8ea4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,param_2[10] + 0x58)" ( identifier , (binary_expression "param_2[10] + 0x58" (subscript_expression "param_2[10]" identifier [ number_literal ]) + number_literal) ))))) ;) (if_statement "if (dVar23 < dVar24) goto LAB_001fea70;" if (parenthesized_expression "(dVar23 < dVar24)" ( (binary_expression "dVar23 < dVar24" identifier < identifier) )) (goto_statement "goto LAB_001fea70;" goto statement_identifier ;)) (expression_statement "uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);" (assignment_expression "uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" identifier = (binary_expression "(ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c" identifier + number_literal) ))))) ;) })) }) (else_clause "else {\nLAB_001fea70:\n      uVar28 = 0;\n    }" else (compound_statement "{\nLAB_001fea70:\n      uVar28 = 0;\n    }" { (labeled_statement "LAB_001fea70:\n      uVar28 = 0;" statement_identifier : (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;)) }))) (expression_statement "puVar10 = PTR_s_courses_003a88ec;" (assignment_expression "puVar10 = PTR_s_courses_003a88ec" identifier = identifier) ;) (expression_statement "puVar11 = (undefined1 *)param_2[7];" (assignment_expression "puVar11 = (undefined1 *)param_2[7]" identifier = (cast_expression "(undefined1 *)param_2[7]" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[7]" identifier [ number_literal ]))) ;) (if_statement "if (0 < (int)puVar11) {\n      puVar21 = (undefined *)0x0;\n      puVar8 = PTR_s_courses_003a88ec + -0x15c;\n      puVar20 = puVar19;\n      do {\n        if (puVar11 < puVar19) {\n          puVar20 = puVar11 + -(int)puVar21;\n        }\n        puVar13 = (undefined *)param_2[6];\n        iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3);\n        if (iVar7 == 0) break;\n        iVar18 = param_2[6];\n        if (0 < iVar18) {\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }\n        puVar13 = puVar21;\n        iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7]);\n        if (iVar7 == 0) break;\n        puVar11 = (undefined1 *)param_2[7];\n        puVar21 = puVar21 + (int)puVar20;\n        puVar19 = puVar21 + (int)puVar20;\n      } while ((int)puVar21 < (int)puVar11);\n    }" if (parenthesized_expression "(0 < (int)puVar11)" ( (binary_expression "0 < (int)puVar11" number_literal < (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      puVar21 = (undefined *)0x0;\n      puVar8 = PTR_s_courses_003a88ec + -0x15c;\n      puVar20 = puVar19;\n      do {\n        if (puVar11 < puVar19) {\n          puVar20 = puVar11 + -(int)puVar21;\n        }\n        puVar13 = (undefined *)param_2[6];\n        iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3);\n        if (iVar7 == 0) break;\n        iVar18 = param_2[6];\n        if (0 < iVar18) {\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }\n        puVar13 = puVar21;\n        iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7]);\n        if (iVar7 == 0) break;\n        puVar11 = (undefined1 *)param_2[7];\n        puVar21 = puVar21 + (int)puVar20;\n        puVar19 = puVar21 + (int)puVar20;\n      } while ((int)puVar21 < (int)puVar11);\n    }" { (expression_statement "puVar21 = (undefined *)0x0;" (assignment_expression "puVar21 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar8 = PTR_s_courses_003a88ec + -0x15c;" (assignment_expression "puVar8 = PTR_s_courses_003a88ec + -0x15c" identifier = (binary_expression "PTR_s_courses_003a88ec + -0x15c" identifier + number_literal)) ;) (expression_statement "puVar20 = puVar19;" (assignment_expression "puVar20 = puVar19" identifier = identifier) ;) (do_statement "do {\n        if (puVar11 < puVar19) {\n          puVar20 = puVar11 + -(int)puVar21;\n        }\n        puVar13 = (undefined *)param_2[6];\n        iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3);\n        if (iVar7 == 0) break;\n        iVar18 = param_2[6];\n        if (0 < iVar18) {\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }\n        puVar13 = puVar21;\n        iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7]);\n        if (iVar7 == 0) break;\n        puVar11 = (undefined1 *)param_2[7];\n        puVar21 = puVar21 + (int)puVar20;\n        puVar19 = puVar21 + (int)puVar20;\n      } while ((int)puVar21 < (int)puVar11);" do (compound_statement "{\n        if (puVar11 < puVar19) {\n          puVar20 = puVar11 + -(int)puVar21;\n        }\n        puVar13 = (undefined *)param_2[6];\n        iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3);\n        if (iVar7 == 0) break;\n        iVar18 = param_2[6];\n        if (0 < iVar18) {\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }\n        puVar13 = puVar21;\n        iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7]);\n        if (iVar7 == 0) break;\n        puVar11 = (undefined1 *)param_2[7];\n        puVar21 = puVar21 + (int)puVar20;\n        puVar19 = puVar21 + (int)puVar20;\n      }" { (if_statement "if (puVar11 < puVar19) {\n          puVar20 = puVar11 + -(int)puVar21;\n        }" if (parenthesized_expression "(puVar11 < puVar19)" ( (binary_expression "puVar11 < puVar19" identifier < identifier) )) (compound_statement "{\n          puVar20 = puVar11 + -(int)puVar21;\n        }" { (expression_statement "puVar20 = puVar11 + -(int)puVar21;" (assignment_expression "puVar20 = puVar11 + -(int)puVar21" identifier = (binary_expression "puVar11 + -(int)puVar21" identifier + (unary_expression "-(int)puVar21" - (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) })) (expression_statement "puVar13 = (undefined *)param_2[6];" (assignment_expression "puVar13 = (undefined *)param_2[6]" identifier = (cast_expression "(undefined *)param_2[6]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[6]" identifier [ number_literal ]))) ;) (expression_statement "iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3);" (assignment_expression "iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3)" identifier = (call_expression "(*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3)" (parenthesized_expression "(*(code *)PTR_GetVirtualPixels_003a9764)" ( (pointer_expression "*(code *)PTR_GetVirtualPixels_003a9764" * (cast_expression "(code *)PTR_GetVirtualPixels_003a9764" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,0,puVar21,puVar13,puVar20,param_3)" ( identifier , number_literal , identifier , identifier , 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 "iVar18 = param_2[6];" (assignment_expression "iVar18 = param_2[6]" identifier = (subscript_expression "param_2[6]" identifier [ number_literal ])) ;) (if_statement "if (0 < iVar18) {\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }" if (parenthesized_expression "(0 < iVar18)" ( (binary_expression "0 < iVar18" number_literal < identifier) )) (compound_statement "{\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }" { (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" identifier = number_literal) ;) (expression_statement "iVar22 = 0;" (assignment_expression "iVar22 = 0" identifier = number_literal) ;) (expression_statement "bVar2 = puVar20 < (undefined1 *)0x2;" (assignment_expression "bVar2 = puVar20 < (undefined1 *)0x2" identifier = (binary_expression "puVar20 < (undefined1 *)0x2" identifier < (cast_expression "(undefined1 *)0x2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (do_statement "do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);" do (compound_statement "{\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          }" { (expression_statement "iVar12 = iVar22 + 1;" (assignment_expression "iVar12 = iVar22 + 1" identifier = (binary_expression "iVar22 + 1" identifier + number_literal)) ;) (expression_statement "iVar14 = param_2[0xb4];" (assignment_expression "iVar14 = param_2[0xb4]" identifier = (subscript_expression "param_2[0xb4]" identifier [ number_literal ])) ;) (expression_statement "fVar26 = (float)uVar27;" (assignment_expression "fVar26 = (float)uVar27" identifier = (cast_expression "(float)uVar27" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "fVar29 = (float)uVar28;" (assignment_expression "fVar29 = (float)uVar28" identifier = (cast_expression "(float)uVar28" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (if_statement "if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }" if (parenthesized_expression "(*param_2 == 2)" ( (binary_expression "*param_2 == 2" (pointer_expression "*param_2" * identifier) == number_literal) )) (compound_statement "{\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }" { (expression_statement "iVar15 = *(int *)(iVar14 + 0x40);" (assignment_expression "iVar15 = *(int *)(iVar14 + 0x40)" identifier = (pointer_expression "*(int *)(iVar14 + 0x40)" * (cast_expression "(int *)(iVar14 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x40)" ( (binary_expression "iVar14 + 0x40" identifier + number_literal) ))))) ;) (if_statement "if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }" { (expression_statement "uVar17 = (uint)(fVar29 == fVar26);" (assignment_expression "uVar17 = (uint)(fVar29 == fVar26)" identifier = (call_expression "(uint)(fVar29 == fVar26)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(fVar29 == fVar26)" ( (binary_expression "fVar29 == fVar26" identifier == identifier) )))) ;) (if_statement "if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }" if (parenthesized_expression "(iVar12 < iVar18)" ( (binary_expression "iVar12 < iVar18" identifier < identifier) )) (compound_statement "{\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }" { (expression_statement "fVar25 = 0.0;" (assignment_expression "fVar25 = 0.0" identifier = number_literal) ;) (goto_statement "goto LAB_001feeb4;" goto statement_identifier ;) })) }) (else_clause "else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }" else (compound_statement "{\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }" { (expression_statement "uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );" (assignment_expression "uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               )" identifier = (call_expression "(uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               )" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               )" ( (binary_expression "*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29" (pointer_expression "*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4)" * (cast_expression "(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4)" ( (binary_expression "iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4" identifier + (binary_expression "(iVar22 + *(int *)(iVar14 + 0x44)) * 4" (parenthesized_expression "(iVar22 + *(int *)(iVar14 + 0x44))" ( (binary_expression "iVar22 + *(int *)(iVar14 + 0x44)" identifier + (pointer_expression "*(int *)(iVar14 + 0x44)" * (cast_expression "(int *)(iVar14 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x44)" ( (binary_expression "iVar14 + 0x44" identifier + number_literal) ))))) )) * number_literal)) )))) == identifier) )))) ;) (if_statement "if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }" if (parenthesized_expression "(iVar12 < iVar18)" ( (binary_expression "iVar12 < iVar18" identifier < identifier) )) (compound_statement "{\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }" { (expression_statement "fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);" (assignment_expression "fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4)" identifier = (pointer_expression "*(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4)" * (cast_expression "(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4)" ( (binary_expression "iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4" identifier + (binary_expression "(iVar12 + *(int *)(iVar14 + 0x44)) * 4" (parenthesized_expression "(iVar12 + *(int *)(iVar14 + 0x44))" ( (binary_expression "iVar12 + *(int *)(iVar14 + 0x44)" identifier + (pointer_expression "*(int *)(iVar14 + 0x44)" * (cast_expression "(int *)(iVar14 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x44)" ( (binary_expression "iVar14 + 0x44" identifier + number_literal) ))))) )) * number_literal)) ))))) ;) (labeled_statement "LAB_001feeb4:\n                  uVar16 = 8;" statement_identifier : (expression_statement "uVar16 = 8;" (assignment_expression "uVar16 = 8" identifier = number_literal) ;)) (if_statement "if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }" if (parenthesized_expression "(fVar29 != fVar25)" ( (binary_expression "fVar29 != fVar25" identifier != identifier) )) (compound_statement "{\n                    uVar16 = 0;\n                  }" { (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) })) (expression_statement "uVar17 = uVar16 | uVar17;" (assignment_expression "uVar17 = uVar16 | uVar17" identifier = (binary_expression "uVar16 | uVar17" identifier | identifier)) ;) })) }))) (if_statement "if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }" { (expression_statement "fVar25 = 0.0;" (assignment_expression "fVar25 = 0.0" identifier = number_literal) ;) (if_statement "if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }" { (expression_statement "fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);" (assignment_expression "fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4)" identifier = (pointer_expression "*(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4)" * (cast_expression "(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4)" ( (binary_expression "iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4" identifier + (binary_expression "(*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4" (parenthesized_expression "(*(int *)(iVar14 + 0x44) + iVar18 + iVar22)" ( (binary_expression "*(int *)(iVar14 + 0x44) + iVar18 + iVar22" (binary_expression "*(int *)(iVar14 + 0x44) + iVar18" (pointer_expression "*(int *)(iVar14 + 0x44)" * (cast_expression "(int *)(iVar14 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x44)" ( (binary_expression "iVar14 + 0x44" identifier + number_literal) )))) + identifier) + identifier) )) * number_literal)) ))))) ;) })) (expression_statement "uVar16 = (uint)(char)uVar17;" (assignment_expression "uVar16 = (uint)(char)uVar17" identifier = (cast_expression "(uint)(char)uVar17" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar17" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (if_statement "if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }" if (parenthesized_expression "(fVar29 == fVar25)" ( (binary_expression "fVar29 == fVar25" identifier == identifier) )) (compound_statement "{\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }" { (expression_statement "uVar16 = uVar16 | 2;" (assignment_expression "uVar16 = uVar16 | 2" identifier = (binary_expression "uVar16 | 2" identifier | number_literal)) ;) (expression_statement "uVar17 = uVar16;" (assignment_expression "uVar17 = uVar16" identifier = identifier) ;) })) (if_statement "if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }" if (parenthesized_expression "(iVar18 <= iVar12)" ( (binary_expression "iVar18 <= iVar12" identifier <= identifier) )) (compound_statement "{\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }" { (if_statement "if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }" if (parenthesized_expression "(puVar20 != (undefined1 *)0x2)" ( (binary_expression "puVar20 != (undefined1 *)0x2" identifier != (cast_expression "(undefined1 *)0x2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }" { (expression_statement "iVar9 = iVar18 * 2 + iVar22;" (assignment_expression "iVar9 = iVar18 * 2 + iVar22" identifier = (binary_expression "iVar18 * 2 + iVar22" (binary_expression "iVar18 * 2" identifier * number_literal) + identifier)) ;) (if_statement "if (iVar15 != 0) goto LAB_001fef54;" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001fef54;" goto statement_identifier ;)) (labeled_statement "LAB_001ff08c:\n                    fVar25 = 0.0;" statement_identifier : (expression_statement "fVar25 = 0.0;" (assignment_expression "fVar25 = 0.0" identifier = number_literal) ;)) (goto_statement "goto LAB_001fef68;" goto statement_identifier ;) })) }) (else_clause "else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }" else (compound_statement "{\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }" { (expression_statement "fVar25 = 0.0;" (assignment_expression "fVar25 = 0.0" identifier = number_literal) ;) (if_statement "if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }" { (expression_statement "fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;" (assignment_expression "fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)" identifier = (pointer_expression "*(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)" * (cast_expression "(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)" ( (binary_expression "iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4" identifier + (binary_expression "(*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4" (parenthesized_expression "(*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1)" ( (binary_expression "*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1" (binary_expression "*(int *)(iVar14 + 0x44) + iVar18 + iVar22" (binary_expression "*(int *)(iVar14 + 0x44) + iVar18" (pointer_expression "*(int *)(iVar14 + 0x44)" * (cast_expression "(int *)(iVar14 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x44)" ( (binary_expression "iVar14 + 0x44" identifier + number_literal) )))) + identifier) + identifier) + number_literal) )) * number_literal)) ))))) ;) })) (if_statement "if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }" if (parenthesized_expression "(fVar29 == fVar25)" ( (binary_expression "fVar29 == fVar25" identifier == identifier) )) (compound_statement "{\n                    uVar17 = uVar16 | 0x10;\n                  }" { (expression_statement "uVar17 = uVar16 | 0x10;" (assignment_expression "uVar17 = uVar16 | 0x10" identifier = (binary_expression "uVar16 | 0x10" identifier | number_literal)) ;) })) (if_statement "if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }" if (parenthesized_expression "(puVar20 != (undefined1 *)0x2)" ( (binary_expression "puVar20 != (undefined1 *)0x2" identifier != (cast_expression "(undefined1 *)0x2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }" { (expression_statement "iVar9 = iVar18 * 2 + iVar22;" (assignment_expression "iVar9 = iVar18 * 2 + iVar22" identifier = (binary_expression "iVar18 * 2 + iVar22" (binary_expression "iVar18 * 2" identifier * number_literal) + identifier)) ;) (if_statement "if (iVar15 == 0) goto LAB_001ff08c;" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001ff08c;" goto statement_identifier ;)) (labeled_statement "LAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);" statement_identifier : (expression_statement "fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);" (assignment_expression "fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4)" identifier = (pointer_expression "*(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4)" * (cast_expression "(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4)" ( (binary_expression "iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4" identifier + (binary_expression "(iVar9 + *(int *)(iVar14 + 0x44)) * 4" (parenthesized_expression "(iVar9 + *(int *)(iVar14 + 0x44))" ( (binary_expression "iVar9 + *(int *)(iVar14 + 0x44)" identifier + (pointer_expression "*(int *)(iVar14 + 0x44)" * (cast_expression "(int *)(iVar14 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x44)" ( (binary_expression "iVar14 + 0x44" identifier + number_literal) ))))) )) * number_literal)) ))))) ;)) (labeled_statement "LAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;" statement_identifier : (expression_statement "uVar16 = (uint)(char)uVar17;" (assignment_expression "uVar16 = (uint)(char)uVar17" identifier = (cast_expression "(uint)(char)uVar17" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar17" ( (type_descriptor "char" primitive_type) ) identifier))) ;)) (if_statement "if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }" if (parenthesized_expression "(fVar29 == fVar25)" ( (binary_expression "fVar29 == fVar25" identifier == identifier) )) (compound_statement "{\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }" { (expression_statement "uVar17 = uVar16 | 4;" (assignment_expression "uVar17 = uVar16 | 4" identifier = (binary_expression "uVar16 | 4" identifier | number_literal)) ;) (expression_statement "uVar16 = uVar17;" (assignment_expression "uVar16 = uVar17" identifier = identifier) ;) })) (if_statement "if (iVar18 <= iVar12) goto LAB_001febe8;" if (parenthesized_expression "(iVar18 <= iVar12)" ( (binary_expression "iVar18 <= iVar12" identifier <= identifier) )) (goto_statement "goto LAB_001febe8;" goto statement_identifier ;)) (expression_statement "fVar26 = 0.0;" (assignment_expression "fVar26 = 0.0" identifier = number_literal) ;) (if_statement "if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }" { (expression_statement "fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);" (assignment_expression "fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4)" identifier = (pointer_expression "*(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4)" * (cast_expression "(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4)" ( (binary_expression "iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4" identifier + (binary_expression "(*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4" (parenthesized_expression "(*(int *)(iVar14 + 0x44) + iVar9 + 1)" ( (binary_expression "*(int *)(iVar14 + 0x44) + iVar9 + 1" (binary_expression "*(int *)(iVar14 + 0x44) + iVar9" (pointer_expression "*(int *)(iVar14 + 0x44)" * (cast_expression "(int *)(iVar14 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x44)" ( (binary_expression "iVar14 + 0x44" identifier + number_literal) )))) + identifier) + number_literal) )) * number_literal)) ))))) ;) })) (if_statement "if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }" if (parenthesized_expression "(fVar29 == fVar26)" ( (binary_expression "fVar29 == fVar26" identifier == identifier) )) (compound_statement "{\n                      uVar17 = uVar16 | 0x20;\n                    }" { (expression_statement "uVar17 = uVar16 | 0x20;" (assignment_expression "uVar17 = uVar16 | 0x20" identifier = (binary_expression "uVar16 | 0x20" identifier | number_literal)) ;) })) (if_statement "if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }" if (parenthesized_expression "(puVar20 != (undefined1 *)0x3)" ( (binary_expression "puVar20 != (undefined1 *)0x3" identifier != (cast_expression "(undefined1 *)0x3" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }" { (labeled_statement "LAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;" statement_identifier : (expression_statement "iVar9 = iVar18 * 3 + iVar22;" (assignment_expression "iVar9 = iVar18 * 3 + iVar22" identifier = (binary_expression "iVar18 * 3 + iVar22" (binary_expression "iVar18 * 3" identifier * number_literal) + identifier)) ;)) (if_statement "if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n                        fVar26 = 0.0;\n                      }" { (expression_statement "fVar26 = 0.0;" (assignment_expression "fVar26 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }" else (compound_statement "{\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }" { (expression_statement "fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);" (assignment_expression "fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4)" identifier = (pointer_expression "*(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4)" * (cast_expression "(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4)" ( (binary_expression "iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4" identifier + (binary_expression "(iVar9 + *(int *)(iVar14 + 0x44)) * 4" (parenthesized_expression "(iVar9 + *(int *)(iVar14 + 0x44))" ( (binary_expression "iVar9 + *(int *)(iVar14 + 0x44)" identifier + (pointer_expression "*(int *)(iVar14 + 0x44)" * (cast_expression "(int *)(iVar14 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x44)" ( (binary_expression "iVar14 + 0x44" identifier + number_literal) ))))) )) * number_literal)) ))))) ;) }))) (expression_statement "uVar16 = (uint)(char)uVar17;" (assignment_expression "uVar16 = (uint)(char)uVar17" identifier = (cast_expression "(uint)(char)uVar17" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar17" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (if_statement "if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }" if (parenthesized_expression "(fVar29 == fVar26)" ( (binary_expression "fVar29 == fVar26" identifier == identifier) )) (compound_statement "{\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }" { (expression_statement "uVar17 = uVar16 | 0x40;" (assignment_expression "uVar17 = uVar16 | 0x40" identifier = (binary_expression "uVar16 | 0x40" identifier | number_literal)) ;) (expression_statement "uVar16 = uVar17;" (assignment_expression "uVar16 = uVar17" identifier = identifier) ;) })) (if_statement "if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }" if (parenthesized_expression "(iVar12 < iVar18)" ( (binary_expression "iVar12 < iVar18" identifier < identifier) )) (compound_statement "{\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }" { (expression_statement "fVar26 = 0.0;" (assignment_expression "fVar26 = 0.0" identifier = number_literal) ;) (if_statement "if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }" { (expression_statement "fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);" (assignment_expression "fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4)" identifier = (pointer_expression "*(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4)" * (cast_expression "(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4)" ( (binary_expression "iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4" identifier + (binary_expression "(*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4" (parenthesized_expression "(*(int *)(iVar14 + 0x44) + iVar9 + 1)" ( (binary_expression "*(int *)(iVar14 + 0x44) + iVar9 + 1" (binary_expression "*(int *)(iVar14 + 0x44) + iVar9" (pointer_expression "*(int *)(iVar14 + 0x44)" * (cast_expression "(int *)(iVar14 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x44)" ( (binary_expression "iVar14 + 0x44" identifier + number_literal) )))) + identifier) + number_literal) )) * number_literal)) ))))) ;) })) (if_statement "if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }" if (parenthesized_expression "(fVar29 == fVar26)" ( (binary_expression "fVar29 == fVar26" identifier == identifier) )) (compound_statement "{\n                          uVar17 = uVar16 | 0x80;\n                        }" { (expression_statement "uVar17 = uVar16 | 0x80;" (assignment_expression "uVar17 = uVar16 | 0x80" identifier = (binary_expression "uVar16 | 0x80" identifier | number_literal)) ;) })) })) })) })) }))) })) (labeled_statement "LAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;" statement_identifier : (if_statement "if (!bVar5) goto LAB_001fec3c;" if (parenthesized_expression "(!bVar5)" ( (unary_expression "!bVar5" ! identifier) )) (goto_statement "goto LAB_001fec3c;" goto statement_identifier ;))) (labeled_statement "LAB_001fedf4:\n              local_1040 = 0xe2;" statement_identifier : (expression_statement "local_1040 = 0xe2;" (assignment_expression "local_1040 = 0xe2" identifier = number_literal) ;)) (expression_statement "local_103f = (byte)(uVar17 >> 6) | 0xa0;" (assignment_expression "local_103f = (byte)(uVar17 >> 6) | 0xa0" identifier = (binary_expression "(byte)(uVar17 >> 6) | 0xa0" (call_expression "(byte)(uVar17 >> 6)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar17 >> 6)" ( (binary_expression "uVar17 >> 6" identifier >> number_literal) ))) | number_literal)) ;) (expression_statement "local_103e = (byte)uVar17 & 0x3f | 0x80;" (assignment_expression "local_103e = (byte)uVar17 & 0x3f | 0x80" identifier = (binary_expression "(byte)uVar17 & 0x3f | 0x80" (binary_expression "(byte)uVar17 & 0x3f" (cast_expression "(byte)uVar17" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) | number_literal)) ;) (expression_statement "(*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);" (call_expression "(*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040)" (parenthesized_expression "(*(code *)PTR_WriteBlob_003a9994)" ( (pointer_expression "*(code *)PTR_WriteBlob_003a9994" * (cast_expression "(code *)PTR_WriteBlob_003a9994" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,3,&local_1040)" ( identifier , number_literal , (pointer_expression "&local_1040" & identifier) ))) ;) }) (else_clause "else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }" else (compound_statement "{\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }" { (expression_statement "iVar15 = *(int *)(iVar14 + 0x14);" (assignment_expression "iVar15 = *(int *)(iVar14 + 0x14)" identifier = (pointer_expression "*(int *)(iVar14 + 0x14)" * (cast_expression "(int *)(iVar14 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x14)" ( (binary_expression "iVar14 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;" (assignment_expression "bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26" identifier = (binary_expression "*(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26" (pointer_expression "*(float *)(iVar7 + (iVar15 + iVar22) * 4)" * (cast_expression "(float *)(iVar7 + (iVar15 + iVar22) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + (iVar15 + iVar22) * 4)" ( (binary_expression "iVar7 + (iVar15 + iVar22) * 4" identifier + (binary_expression "(iVar15 + iVar22) * 4" (parenthesized_expression "(iVar15 + iVar22)" ( (binary_expression "iVar15 + iVar22" identifier + identifier) )) * number_literal)) )))) == identifier)) ;) (expression_statement "uVar17 = (uint)bVar4;" (assignment_expression "uVar17 = (uint)bVar4" identifier = (cast_expression "(uint)bVar4" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "bVar1 = iVar12 < iVar18;" (assignment_expression "bVar1 = iVar12 < iVar18" identifier = (binary_expression "iVar12 < iVar18" identifier < identifier)) ;) (if_statement "if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }" if (parenthesized_expression "(!bVar1)" ( (unary_expression "!bVar1" ! identifier) )) (compound_statement "{\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }" { (if_statement "if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }" { (expression_statement "uVar16 = (uint)bVar4;" (assignment_expression "uVar16 = (uint)bVar4" identifier = (cast_expression "(uint)bVar4" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;" if (parenthesized_expression "(*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)" ( (binary_expression "*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26" (pointer_expression "*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4)" * (cast_expression "(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4)" ( (binary_expression "iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4" (binary_expression "iVar7 + (iVar18 + iVar22) * 4" identifier + (binary_expression "(iVar18 + iVar22) * 4" (parenthesized_expression "(iVar18 + iVar22)" ( (binary_expression "iVar18 + iVar22" identifier + identifier) )) * number_literal)) + (binary_expression "iVar15 * 4" identifier * number_literal)) )))) == identifier) )) (goto_statement "goto LAB_001fed40;" goto statement_identifier ;)) (labeled_statement "LAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;" statement_identifier : (if_statement "if (bVar1) goto LAB_001feb88;" if (parenthesized_expression "(bVar1)" ( identifier )) (goto_statement "goto LAB_001feb88;" goto statement_identifier ;))) (if_statement "if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }" if (parenthesized_expression "(puVar20 != (undefined1 *)0x2)" ( (binary_expression "puVar20 != (undefined1 *)0x2" identifier != (cast_expression "(undefined1 *)0x2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }" { (if_statement "if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }" if (parenthesized_expression "(*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26)" ( (binary_expression "*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26" (pointer_expression "*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4)" * (cast_expression "(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4)" ( (binary_expression "iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4" (binary_expression "iVar7 + (iVar18 * 2 + iVar22) * 4" identifier + (binary_expression "(iVar18 * 2 + iVar22) * 4" (parenthesized_expression "(iVar18 * 2 + iVar22)" ( (binary_expression "iVar18 * 2 + iVar22" (binary_expression "iVar18 * 2" identifier * number_literal) + identifier) )) * number_literal)) + (binary_expression "iVar15 * 4" identifier * number_literal)) )))) == identifier) )) (compound_statement "{\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }" { (expression_statement "uVar17 = (int)(char)uVar17 | 4;" (assignment_expression "uVar17 = (int)(char)uVar17 | 4" identifier = (binary_expression "(int)(char)uVar17 | 4" (cast_expression "(int)(char)uVar17" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)uVar17" ( (type_descriptor "char" primitive_type) ) identifier)) | number_literal)) ;) })) (goto_statement "goto LAB_001febe8;" goto statement_identifier ;) })) })) (goto_statement "goto LAB_001fec34;" goto statement_identifier ;) })) (expression_statement "uVar16 = 8;" (assignment_expression "uVar16 = 8" identifier = number_literal) ;) (if_statement "if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }" if (parenthesized_expression "(*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26)" ( (binary_expression "*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26" (pointer_expression "*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4)" * (cast_expression "(float *)(iVar7 + iVar12 * 4 + iVar15 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + iVar12 * 4 + iVar15 * 4)" ( (binary_expression "iVar7 + iVar12 * 4 + iVar15 * 4" (binary_expression "iVar7 + iVar12 * 4" identifier + (binary_expression "iVar12 * 4" identifier * number_literal)) + (binary_expression "iVar15 * 4" identifier * number_literal)) )))) != identifier) )) (compound_statement "{\n                uVar16 = 0;\n              }" { (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) })) (expression_statement "uVar17 = uVar16 | uVar17;" (assignment_expression "uVar17 = uVar16 | uVar17" identifier = (binary_expression "uVar16 | uVar17" identifier | identifier)) ;) (if_statement "if (bVar2) goto LAB_001fec34;" if (parenthesized_expression "(bVar2)" ( identifier )) (goto_statement "goto LAB_001fec34;" goto statement_identifier ;)) (expression_statement "uVar16 = uVar17;" (assignment_expression "uVar16 = uVar17" identifier = identifier) ;) (if_statement "if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }" if (parenthesized_expression "(*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)" ( (binary_expression "*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26" (pointer_expression "*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4)" * (cast_expression "(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4)" ( (binary_expression "iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4" (binary_expression "iVar7 + (iVar18 + iVar22) * 4" identifier + (binary_expression "(iVar18 + iVar22) * 4" (parenthesized_expression "(iVar18 + iVar22)" ( (binary_expression "iVar18 + iVar22" identifier + identifier) )) * number_literal)) + (binary_expression "iVar15 * 4" identifier * number_literal)) )))) == identifier) )) (compound_statement "{\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }" { (labeled_statement "LAB_001fed40:\n                uVar17 = uVar16 | 2;" statement_identifier : (expression_statement "uVar17 = uVar16 | 2;" (assignment_expression "uVar17 = uVar16 | 2" identifier = (binary_expression "uVar16 | 2" identifier | number_literal)) ;)) (expression_statement "uVar16 = uVar17;" (assignment_expression "uVar16 = uVar17" identifier = identifier) ;) (goto_statement "goto LAB_001fed48;" goto statement_identifier ;) })) (labeled_statement "LAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }" statement_identifier : (if_statement "if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }" if (parenthesized_expression "(*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26)" ( (binary_expression "*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26" (pointer_expression "*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4)" * (cast_expression "(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4)" ( (binary_expression "iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4" (binary_expression "iVar7 + (iVar18 + iVar22 + 1) * 4" identifier + (binary_expression "(iVar18 + iVar22 + 1) * 4" (parenthesized_expression "(iVar18 + iVar22 + 1)" ( (binary_expression "iVar18 + iVar22 + 1" (binary_expression "iVar18 + iVar22" identifier + identifier) + number_literal) )) * number_literal)) + (binary_expression "iVar15 * 4" identifier * number_literal)) )))) == identifier) )) (compound_statement "{\n                uVar17 = uVar16 | 0x10;\n              }" { (expression_statement "uVar17 = uVar16 | 0x10;" (assignment_expression "uVar17 = uVar16 | 0x10" identifier = (binary_expression "uVar16 | 0x10" identifier | number_literal)) ;) }))) (if_statement "if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;" if (parenthesized_expression "(puVar20 == (undefined1 *)0x2)" ( (binary_expression "puVar20 == (undefined1 *)0x2" identifier == (cast_expression "(undefined1 *)0x2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001fec34;" goto statement_identifier ;)) (expression_statement "iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;" (assignment_expression "iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4" identifier = (binary_expression "iVar7 + (iVar18 * 2 + iVar22) * 4" identifier + (binary_expression "(iVar18 * 2 + iVar22) * 4" (parenthesized_expression "(iVar18 * 2 + iVar22)" ( (binary_expression "iVar18 * 2 + iVar22" (binary_expression "iVar18 * 2" identifier * number_literal) + identifier) )) * number_literal))) ;) (expression_statement "uVar16 = (uint)(char)uVar17;" (assignment_expression "uVar16 = (uint)(char)uVar17" identifier = (cast_expression "(uint)(char)uVar17" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar17" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (if_statement "if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }" if (parenthesized_expression "((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1))" ( (binary_expression "(*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)" (parenthesized_expression "(*(float *)(iVar9 + iVar15 * 4) == fVar26)" ( (binary_expression "*(float *)(iVar9 + iVar15 * 4) == fVar26" (pointer_expression "*(float *)(iVar9 + iVar15 * 4)" * (cast_expression "(float *)(iVar9 + iVar15 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + iVar15 * 4)" ( (binary_expression "iVar9 + iVar15 * 4" identifier + (binary_expression "iVar15 * 4" identifier * number_literal)) )))) == identifier) )) && (parenthesized_expression "(uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)" ( (comma_expression "uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1" (assignment_expression "uVar17 = uVar16 | 4" identifier = (binary_expression "uVar16 | 4" identifier | number_literal)) , (comma_expression "uVar16 = uVar17, !bVar1" (assignment_expression "uVar16 = uVar17" identifier = identifier) , (unary_expression "!bVar1" ! identifier))) ))) )) (compound_statement "{\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }" { (labeled_statement "LAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }" statement_identifier : (if_statement "if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }" if (parenthesized_expression "(puVar20 != (undefined1 *)0x3)" ( (binary_expression "puVar20 != (undefined1 *)0x3" identifier != (cast_expression "(undefined1 *)0x3" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }" { (if_statement "if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }" if (parenthesized_expression "(*param_2 == 2)" ( (binary_expression "*param_2 == 2" (pointer_expression "*param_2" * identifier) == number_literal) )) (compound_statement "{\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }" { (expression_statement "iVar15 = *(int *)(iVar14 + 0x40);" (assignment_expression "iVar15 = *(int *)(iVar14 + 0x40)" identifier = (pointer_expression "*(int *)(iVar14 + 0x40)" * (cast_expression "(int *)(iVar14 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x40)" ( (binary_expression "iVar14 + 0x40" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_001fefc0;" goto statement_identifier ;) })) (expression_statement "iVar15 = *(int *)(iVar14 + 0x14) * 4;" (assignment_expression "iVar15 = *(int *)(iVar14 + 0x14) * 4" identifier = (binary_expression "*(int *)(iVar14 + 0x14) * 4" (pointer_expression "*(int *)(iVar14 + 0x14)" * (cast_expression "(int *)(iVar14 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x14)" ( (binary_expression "iVar14 + 0x14" identifier + number_literal) )))) * number_literal)) ;) (expression_statement "iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;" (assignment_expression "iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4" identifier = (binary_expression "iVar7 + (iVar18 * 3 + iVar22) * 4" identifier + (binary_expression "(iVar18 * 3 + iVar22) * 4" (parenthesized_expression "(iVar18 * 3 + iVar22)" ( (binary_expression "iVar18 * 3 + iVar22" (binary_expression "iVar18 * 3" identifier * number_literal) + identifier) )) * number_literal))) ;) (expression_statement "uVar16 = (uint)(char)uVar17;" (assignment_expression "uVar16 = (uint)(char)uVar17" identifier = (cast_expression "(uint)(char)uVar17" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar17" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (if_statement "if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;" if (parenthesized_expression "(*(float *)(iVar14 + iVar15) == fVar26)" ( (binary_expression "*(float *)(iVar14 + iVar15) == fVar26" (pointer_expression "*(float *)(iVar14 + iVar15)" * (cast_expression "(float *)(iVar14 + iVar15)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + iVar15)" ( (binary_expression "iVar14 + iVar15" identifier + identifier) )))) == identifier) )) (goto_statement "goto LAB_001fec28;" goto statement_identifier ;)) }))) (goto_statement "goto LAB_001fec34;" goto statement_identifier ;) })) (expression_statement "iVar15 = iVar15 * 4;" (assignment_expression "iVar15 = iVar15 * 4" identifier = (binary_expression "iVar15 * 4" identifier * number_literal)) ;) (if_statement "if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }" if (parenthesized_expression "(*(float *)(iVar9 + iVar15 + 4) == fVar26)" ( (binary_expression "*(float *)(iVar9 + iVar15 + 4) == fVar26" (pointer_expression "*(float *)(iVar9 + iVar15 + 4)" * (cast_expression "(float *)(iVar9 + iVar15 + 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + iVar15 + 4)" ( (binary_expression "iVar9 + iVar15 + 4" (binary_expression "iVar9 + iVar15" identifier + identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n                uVar17 = uVar16 | 0x20;\n              }" { (expression_statement "uVar17 = uVar16 | 0x20;" (assignment_expression "uVar17 = uVar16 | 0x20" identifier = (binary_expression "uVar16 | 0x20" identifier | number_literal)) ;) })) (if_statement "if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;" if (parenthesized_expression "(puVar20 == (undefined1 *)0x3)" ( (binary_expression "puVar20 == (undefined1 *)0x3" identifier == (cast_expression "(undefined1 *)0x3" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001fec34;" goto statement_identifier ;)) (expression_statement "iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;" (assignment_expression "iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4" identifier = (binary_expression "iVar7 + (iVar18 * 3 + iVar22) * 4" identifier + (binary_expression "(iVar18 * 3 + iVar22) * 4" (parenthesized_expression "(iVar18 * 3 + iVar22)" ( (binary_expression "iVar18 * 3 + iVar22" (binary_expression "iVar18 * 3" identifier * number_literal) + identifier) )) * number_literal))) ;) (expression_statement "uVar16 = (uint)(char)uVar17;" (assignment_expression "uVar16 = (uint)(char)uVar17" identifier = (cast_expression "(uint)(char)uVar17" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar17" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (if_statement "if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }" if (parenthesized_expression "(*(float *)(iVar14 + iVar15) == fVar26)" ( (binary_expression "*(float *)(iVar14 + iVar15) == fVar26" (pointer_expression "*(float *)(iVar14 + iVar15)" * (cast_expression "(float *)(iVar14 + iVar15)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + iVar15)" ( (binary_expression "iVar14 + iVar15" identifier + identifier) )))) == identifier) )) (compound_statement "{\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }" { (labeled_statement "LAB_001fec28:\n                uVar16 = uVar16 | 0x40;" statement_identifier : (expression_statement "uVar16 = uVar16 | 0x40;" (assignment_expression "uVar16 = uVar16 | 0x40" identifier = (binary_expression "uVar16 | 0x40" identifier | number_literal)) ;)) (expression_statement "uVar17 = uVar16;" (assignment_expression "uVar17 = uVar16" identifier = identifier) ;) (if_statement "if (iVar18 <= iVar12) goto LAB_001fec34;" if (parenthesized_expression "(iVar18 <= iVar12)" ( (binary_expression "iVar18 <= iVar12" identifier <= identifier) )) (goto_statement "goto LAB_001fec34;" goto statement_identifier ;)) })) (if_statement "if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;" if (parenthesized_expression "(*(float *)(iVar14 + iVar15 + 4) != fVar26)" ( (binary_expression "*(float *)(iVar14 + iVar15 + 4) != fVar26" (pointer_expression "*(float *)(iVar14 + iVar15 + 4)" * (cast_expression "(float *)(iVar14 + iVar15 + 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + iVar15 + 4)" ( (binary_expression "iVar14 + iVar15 + 4" (binary_expression "iVar14 + iVar15" identifier + identifier) + number_literal) )))) != identifier) )) (goto_statement "goto LAB_001fec34;" goto statement_identifier ;)) (expression_statement "uVar17 = uVar16 | 0x80;" (assignment_expression "uVar17 = uVar16 | 0x80" identifier = (binary_expression "uVar16 | 0x80" identifier | number_literal)) ;) (if_statement "if (bVar5) goto LAB_001fedf4;" if (parenthesized_expression "(bVar5)" ( identifier )) (goto_statement "goto LAB_001fedf4;" goto statement_identifier ;)) (labeled_statement "LAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }" statement_identifier : (if_statement "if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }" if (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }" { (expression_statement "(*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);" (call_expression "(*(code *)PTR_WriteBlobByte_003a8fdc)(param_2)" (parenthesized_expression "(*(code *)PTR_WriteBlobByte_003a8fdc)" ( (pointer_expression "*(code *)PTR_WriteBlobByte_003a8fdc" * (cast_expression "(code *)PTR_WriteBlobByte_003a8fdc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2)" ( identifier ))) ;) }) (else_clause "else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }" else (compound_statement "{\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }" { (expression_statement "(*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);" (call_expression "(*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50])" (parenthesized_expression "(*(code *)PTR_WriteBlobByte_003a8fdc)" ( (pointer_expression "*(code *)PTR_WriteBlobByte_003a8fdc" * (cast_expression "(code *)PTR_WriteBlobByte_003a8fdc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,puVar10[uVar17 + 0xa50])" ( identifier , (subscript_expression "puVar10[uVar17 + 0xa50]" identifier [ (binary_expression "uVar17 + 0xa50" identifier + number_literal) ]) ))) ;) })))) }))) (expression_statement "iVar18 = param_2[6];" (assignment_expression "iVar18 = param_2[6]" identifier = (subscript_expression "param_2[6]" identifier [ number_literal ])) ;) (expression_statement "iVar22 = iVar22 + 2;" (assignment_expression "iVar22 = iVar22 + 2" identifier = (binary_expression "iVar22 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar22 < iVar18)" ( (binary_expression "iVar22 < iVar18" identifier < identifier) )) ;) })) (if_statement "if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }" if (parenthesized_expression "(!bVar3)" ( (unary_expression "!bVar3" ! identifier) )) (compound_statement "{\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }" { (expression_statement "(*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);" (call_expression "(*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10)" (parenthesized_expression "(*(code *)PTR_WriteBlobByte_003a8fdc)" ( (pointer_expression "*(code *)PTR_WriteBlobByte_003a8fdc" * (cast_expression "(code *)PTR_WriteBlobByte_003a8fdc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,10)" ( identifier , number_literal ))) ;) })) (expression_statement "puVar13 = puVar21;" (assignment_expression "puVar13 = puVar21" identifier = identifier) ;) (expression_statement "iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7]);" (assignment_expression "iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7])" identifier = (call_expression "(*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7])" (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 "(param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7])" ( identifier , identifier , (binary_expression "(int)puVar21 >> 0x1f" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) , identifier , number_literal , (subscript_expression "param_2[7]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar11 = (undefined1 *)param_2[7];" (assignment_expression "puVar11 = (undefined1 *)param_2[7]" identifier = (cast_expression "(undefined1 *)param_2[7]" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[7]" identifier [ number_literal ]))) ;) (expression_statement "puVar21 = puVar21 + (int)puVar20;" (assignment_expression "puVar21 = puVar21 + (int)puVar20" identifier = (binary_expression "puVar21 + (int)puVar20" identifier + (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar19 = puVar21 + (int)puVar20;" (assignment_expression "puVar19 = puVar21 + (int)puVar20" identifier = (binary_expression "puVar21 + (int)puVar20" identifier + (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) while (parenthesized_expression "((int)puVar21 < (int)puVar11)" ( (binary_expression "(int)puVar21 < (int)puVar11" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(param_2);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(param_2)" (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 "(param_2)" ( identifier ))) ;) (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;) })) (if_statement "if (local_3c == *(int *)puVar6) {\n    return iVar7;\n  }" if (parenthesized_expression "(local_3c == *(int *)puVar6)" ( (binary_expression "local_3c == *(int *)puVar6" identifier == (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return iVar7;\n  }" { (return_statement "return iVar7;" return identifier ;) })) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" * (cast_expression "(code *)PTR___stack_chk_fail_003a9064" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_001ff384:\n  iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                    (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + 0x978,0xf4,puVar13 + 0xaa4);" statement_identifier : (expression_statement "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                    (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + 0x978,0xf4,puVar13 + 0xaa4);" (assignment_expression "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                    (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + 0x978,0xf4,puVar13 + 0xaa4)" identifier = (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                    (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + 0x978,0xf4,puVar13 + 0xaa4)" (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_s_courses_003a88ec + 0x978,0xf4,puVar13 + 0xaa4)" ( (binary_expression "PTR_LAB_003a88e0 + 0x294c" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + 0x978" identifier + number_literal) , number_literal , (binary_expression "puVar13 + 0xaa4" identifier + number_literal) )))) ;)) (return_statement "return iVar7;" return 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\nMagickBooleanType WriteBRAILLEImage(ImageInfo *image_info,Image *image,ExceptionInfo *exception)\n\n{\n  bool bVar1;\n  bool bVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  int iVar8;\n  int iVar9;\n  MagickBooleanType MVar10;\n  undefined *puVar11;\n  size_t sVar12;\n  int iVar13;\n  undefined1 *puVar14;\n  int iVar15;\n  ExceptionInfo *pEVar16;\n  PixelChannelMap *pPVar17;\n  int iVar18;\n  PixelTrait PVar19;\n  uint uVar20;\n  uint uVar21;\n  char *pcVar22;\n  undefined1 *puVar23;\n  undefined1 *puVar24;\n  ExceptionInfo *pEVar25;\n  int iVar26;\n  float fVar29;\n  float fVar30;\n  double dVar27;\n  double dVar28;\n  undefined8 uVar31;\n  ulonglong uVar32;\n  float fVar33;\n  uchar utf8 [3];\n  char buffer [4096];\n  \n  puVar7 = PTR___stack_chk_guard_003a9230;\n  iVar8 = *(int *)PTR___stack_chk_guard_003a9230;\n  if (image_info == (ImageInfo *)0x0) {\n    MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,\n                        PTR_s_courses_003a88ec + 0xaa4);\n    return MVar10;\n  }\n  if (image_info->signature != 0xabacadab) {\n    MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,\n                        PTR_s_courses_003a88ec + 0xaa4);\n    return MVar10;\n  }\n  if (image == (Image *)0x0) {\n    MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                        PTR_s_courses_003a88ec + 0xaa4);\n    return MVar10;\n  }\n  if (image->signature != 0xabacadab) {\n    MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                        PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4);\n    return MVar10;\n  }\n  pcVar22 = image_info->magick;\n  iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46cc);\n  if (iVar9 == 0) {\n    puVar23 = &DAT_00000004;\n    bVar5 = true;\n    bVar3 = false;\nLAB_001fe9f8:\n    MVar10 = image->debug;\n  }\n  else {\n    iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46d4);\n    if (iVar9 != 0) {\n      iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46dc);\n      if (iVar9 == 0) {\n        puVar23 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar23 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar9 == 0;\n      }\n      goto LAB_001fe9f8;\n    }\n    MVar10 = image->debug;\n    puVar23 = (undefined1 *)0x3;\n    bVar5 = true;\n    bVar3 = false;\n  }\n  if (MVar10 != MagickFalse) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,image->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n    MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,\n                        PTR_s_courses_003a88ec + 0xaa4);\n    return MVar10;\n  }\n  pEVar16 = (ExceptionInfo *)PTR_s_courses_003a88ec;\n  if (exception->signature != 0xabacadab) goto LAB_001ff384;\n  pEVar16 = exception;\n  MVar10 = (*(code *)PTR_OpenBlob_003a924c)(image_info,image,4,exception);\n  if (MVar10 != MagickFalse) {\n    if (!bVar3) {\n      pEVar25 = (ExceptionInfo *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,exception\n                          );\n      if (pEVar25 != (ExceptionInfo *)0x0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (buffer,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,pEVar25);\n        (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n        pEVar16 = pEVar25;\n      }\n      if ((image->page).x != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      }\n      if ((image->page).y != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      }\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x9a4);\n      (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x9b4);\n      (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      (*(code *)PTR_WriteBlobString_003a95a8)(image,PTR_s_courses_003a88ec + -0x4bdc);\n    }\n    (*(code *)PTR_SetImageType_003a9188)(image,1,exception);\n    if (image->storage_class == PseudoClass) {\n      dVar27 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap);\n      uVar32 = 0;\n      if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar27) {\n        uVar32 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n      if (image->colors == 2) {\n        dVar27 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap);\n        dVar28 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap + 1);\n        if (dVar27 < dVar28) goto LAB_001fea70;\n        uVar32 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n    }\n    else {\nLAB_001fea70:\n      uVar32 = 0;\n    }\n    puVar6 = PTR_s_courses_003a88ec;\n    puVar14 = (undefined1 *)image->rows;\n    if (0 < (int)puVar14) {\n      pEVar25 = (ExceptionInfo *)0x0;\n      puVar11 = PTR_s_courses_003a88ec + -0x15c;\n      puVar24 = puVar23;\n      do {\n        if (puVar14 < puVar23) {\n          puVar24 = puVar14 + -(int)pEVar25;\n        }\n        pEVar16 = (ExceptionInfo *)image->columns;\n        iVar9 = (*(code *)PTR_GetVirtualPixels_003a9764)(image,0,pEVar25,pEVar16,puVar24,exception);\n        if (iVar9 == 0) break;\n        sVar12 = image->columns;\n        if (0 < (int)sVar12) {\n          uVar31 = 0;\n          iVar26 = 0;\n          bVar2 = puVar24 < (undefined1 *)0x2;\n          do {\n            iVar15 = iVar26 + 1;\n            pPVar17 = image->channel_map;\n            fVar30 = (float)uVar31;\n            fVar33 = (float)uVar32;\n            if (image->storage_class == PseudoClass) {\n              PVar19 = pPVar17[5].traits;\n              if (PVar19 == UndefinedPixelTrait) {\n                uVar21 = (uint)(fVar33 == fVar30);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar21 = (uint)(*(float *)(iVar9 + (iVar26 + pPVar17[5].offset) * 4) == fVar33);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = *(float *)(iVar9 + (iVar15 + pPVar17[5].offset) * 4);\nLAB_001feeb4:\n                  uVar20 = 8;\n                  if (fVar33 != fVar29) {\n                    uVar20 = 0;\n                  }\n                  uVar21 = uVar20 | uVar21;\n                }\n              }\n              if (!bVar2) {\n                fVar29 = 0.0;\n                if (PVar19 != UndefinedPixelTrait) {\n                  fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26) * 4);\n                }\n                uVar20 = (uint)(char)uVar21;\n                if (fVar33 == fVar29) {\n                  uVar20 = uVar20 | 2;\n                  uVar21 = uVar20;\n                }\n                if ((int)sVar12 <= iVar15) {\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 != UndefinedPixelTrait) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar29 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar29 = 0.0;\n                  if (PVar19 != UndefinedPixelTrait) {\n                    fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26 + 1) * 4);\n                  }\n                  if (fVar33 == fVar29) {\n                    uVar21 = uVar20 | 0x10;\n                  }\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 == UndefinedPixelTrait) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar29 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\nLAB_001fef68:\n                    uVar20 = (uint)(char)uVar21;\n                    if (fVar33 == fVar29) {\n                      uVar21 = uVar20 | 4;\n                      uVar20 = uVar21;\n                    }\n                    if ((int)sVar12 <= iVar15) goto LAB_001febe8;\n                    fVar30 = 0.0;\n                    if (PVar19 != UndefinedPixelTrait) {\n                      fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                    }\n                    if (fVar33 == fVar30) {\n                      uVar21 = uVar20 | 0x20;\n                    }\n                    if (puVar24 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar18 = sVar12 * 3 + iVar26;\n                      if (PVar19 == UndefinedPixelTrait) {\n                        fVar30 = 0.0;\n                      }\n                      else {\n                        fVar30 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\n                      }\n                      uVar20 = (uint)(char)uVar21;\n                      if (fVar33 == fVar30) {\n                        uVar21 = uVar20 | 0x40;\n                        uVar20 = uVar21;\n                      }\n                      if (iVar15 < (int)sVar12) {\n                        fVar30 = 0.0;\n                        if (PVar19 != UndefinedPixelTrait) {\n                          fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                        }\n                        if (fVar33 == fVar30) {\n                          uVar21 = uVar20 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              utf8[0] = 0xe2;\n              utf8[1] = (byte)(uVar21 >> 6) | 0xa0;\n              utf8[2] = (byte)uVar21 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(image,3,utf8);\n            }\n            else {\n              iVar18 = pPVar17[1].offset;\n              bVar4 = *(float *)(iVar9 + (iVar18 + iVar26) * 4) == fVar30;\n              uVar21 = (uint)bVar4;\n              bVar1 = iVar15 < (int)sVar12;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar20 = (uint)bVar4;\n                  if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar24 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar9 + (sVar12 * 2 + iVar26) * 4 + iVar18 * 4) == fVar30) {\n                      uVar21 = (int)(char)uVar21 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar20 = 8;\n              if (*(float *)(iVar9 + iVar15 * 4 + iVar18 * 4) != fVar30) {\n                uVar20 = 0;\n              }\n              uVar21 = uVar20 | uVar21;\n              if (bVar2) goto LAB_001fec34;\n              uVar20 = uVar21;\n              if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30) {\nLAB_001fed40:\n                uVar21 = uVar20 | 2;\n                uVar20 = uVar21;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar9 + (sVar12 + iVar26 + 1) * 4 + iVar18 * 4) == fVar30) {\n                uVar21 = uVar20 | 0x10;\n              }\n              if (puVar24 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 2 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if ((*(float *)(iVar13 + iVar18 * 4) == fVar30) &&\n                 (uVar21 = uVar20 | 4, uVar20 = uVar21, !bVar1)) {\nLAB_001febe8:\n                if (puVar24 != (undefined1 *)0x3) {\n                  if (image->storage_class == PseudoClass) {\n                    PVar19 = pPVar17[5].traits;\n                    goto LAB_001fefc0;\n                  }\n                  iVar18 = pPVar17[1].offset * 4;\n                  iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n                  uVar20 = (uint)(char)uVar21;\n                  if (*(float *)(iVar13 + iVar18) == fVar30) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar18 = iVar18 * 4;\n              if (*(float *)(iVar13 + iVar18 + 4) == fVar30) {\n                uVar21 = uVar20 | 0x20;\n              }\n              if (puVar24 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if (*(float *)(iVar13 + iVar18) == fVar30) {\nLAB_001fec28:\n                uVar20 = uVar20 | 0x40;\n                uVar21 = uVar20;\n                if ((int)sVar12 <= iVar15) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar13 + iVar18 + 4) != fVar30) goto LAB_001fec34;\n              uVar21 = uVar20 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image,puVar6[uVar21 + 0xa50]);\n              }\n            }\n            sVar12 = image->columns;\n            iVar26 = iVar26 + 2;\n          } while (iVar26 < (int)sVar12);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(image,10);\n        }\n        pEVar16 = pEVar25;\n        iVar9 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (image,puVar11,(int)pEVar25 >> 0x1f,pEVar25,0,image->rows);\n        if (iVar9 == 0) break;\n        puVar14 = (undefined1 *)image->rows;\n        pEVar25 = (ExceptionInfo *)(puVar24 + (int)&pEVar25->severity);\n        puVar23 = puVar24 + (int)&pEVar25->severity;\n      } while ((int)pEVar25 < (int)puVar14);\n    }\n    (*(code *)PTR_CloseBlob_003a9688)(image);\n    MVar10 = MagickTrue;\n  }\n  if (iVar8 == *(int *)puVar7) {\n    return MVar10;\n  }\n  (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_001ff384:\n  MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                     (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + 0x978,0xf4,\n                      &pEVar16[0x55].error_number);\n  return MVar10;\n}\n\n" comment comment comment comment comment (function_definition "MagickBooleanType WriteBRAILLEImage(ImageInfo *image_info,Image *image,ExceptionInfo *exception)\n\n{\n  bool bVar1;\n  bool bVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  int iVar8;\n  int iVar9;\n  MagickBooleanType MVar10;\n  undefined *puVar11;\n  size_t sVar12;\n  int iVar13;\n  undefined1 *puVar14;\n  int iVar15;\n  ExceptionInfo *pEVar16;\n  PixelChannelMap *pPVar17;\n  int iVar18;\n  PixelTrait PVar19;\n  uint uVar20;\n  uint uVar21;\n  char *pcVar22;\n  undefined1 *puVar23;\n  undefined1 *puVar24;\n  ExceptionInfo *pEVar25;\n  int iVar26;\n  float fVar29;\n  float fVar30;\n  double dVar27;\n  double dVar28;\n  undefined8 uVar31;\n  ulonglong uVar32;\n  float fVar33;\n  uchar utf8 [3];\n  char buffer [4096];\n  \n  puVar7 = PTR___stack_chk_guard_003a9230;\n  iVar8 = *(int *)PTR___stack_chk_guard_003a9230;\n  if (image_info == (ImageInfo *)0x0) {\n    MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,\n                        PTR_s_courses_003a88ec + 0xaa4);\n    return MVar10;\n  }\n  if (image_info->signature != 0xabacadab) {\n    MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,\n                        PTR_s_courses_003a88ec + 0xaa4);\n    return MVar10;\n  }\n  if (image == (Image *)0x0) {\n    MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                        PTR_s_courses_003a88ec + 0xaa4);\n    return MVar10;\n  }\n  if (image->signature != 0xabacadab) {\n    MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                        PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4);\n    return MVar10;\n  }\n  pcVar22 = image_info->magick;\n  iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46cc);\n  if (iVar9 == 0) {\n    puVar23 = &DAT_00000004;\n    bVar5 = true;\n    bVar3 = false;\nLAB_001fe9f8:\n    MVar10 = image->debug;\n  }\n  else {\n    iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46d4);\n    if (iVar9 != 0) {\n      iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46dc);\n      if (iVar9 == 0) {\n        puVar23 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar23 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar9 == 0;\n      }\n      goto LAB_001fe9f8;\n    }\n    MVar10 = image->debug;\n    puVar23 = (undefined1 *)0x3;\n    bVar5 = true;\n    bVar3 = false;\n  }\n  if (MVar10 != MagickFalse) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,image->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n    MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,\n                        PTR_s_courses_003a88ec + 0xaa4);\n    return MVar10;\n  }\n  pEVar16 = (ExceptionInfo *)PTR_s_courses_003a88ec;\n  if (exception->signature != 0xabacadab) goto LAB_001ff384;\n  pEVar16 = exception;\n  MVar10 = (*(code *)PTR_OpenBlob_003a924c)(image_info,image,4,exception);\n  if (MVar10 != MagickFalse) {\n    if (!bVar3) {\n      pEVar25 = (ExceptionInfo *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,exception\n                          );\n      if (pEVar25 != (ExceptionInfo *)0x0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (buffer,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,pEVar25);\n        (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n        pEVar16 = pEVar25;\n      }\n      if ((image->page).x != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      }\n      if ((image->page).y != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      }\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x9a4);\n      (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x9b4);\n      (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      (*(code *)PTR_WriteBlobString_003a95a8)(image,PTR_s_courses_003a88ec + -0x4bdc);\n    }\n    (*(code *)PTR_SetImageType_003a9188)(image,1,exception);\n    if (image->storage_class == PseudoClass) {\n      dVar27 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap);\n      uVar32 = 0;\n      if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar27) {\n        uVar32 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n      if (image->colors == 2) {\n        dVar27 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap);\n        dVar28 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap + 1);\n        if (dVar27 < dVar28) goto LAB_001fea70;\n        uVar32 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n    }\n    else {\nLAB_001fea70:\n      uVar32 = 0;\n    }\n    puVar6 = PTR_s_courses_003a88ec;\n    puVar14 = (undefined1 *)image->rows;\n    if (0 < (int)puVar14) {\n      pEVar25 = (ExceptionInfo *)0x0;\n      puVar11 = PTR_s_courses_003a88ec + -0x15c;\n      puVar24 = puVar23;\n      do {\n        if (puVar14 < puVar23) {\n          puVar24 = puVar14 + -(int)pEVar25;\n        }\n        pEVar16 = (ExceptionInfo *)image->columns;\n        iVar9 = (*(code *)PTR_GetVirtualPixels_003a9764)(image,0,pEVar25,pEVar16,puVar24,exception);\n        if (iVar9 == 0) break;\n        sVar12 = image->columns;\n        if (0 < (int)sVar12) {\n          uVar31 = 0;\n          iVar26 = 0;\n          bVar2 = puVar24 < (undefined1 *)0x2;\n          do {\n            iVar15 = iVar26 + 1;\n            pPVar17 = image->channel_map;\n            fVar30 = (float)uVar31;\n            fVar33 = (float)uVar32;\n            if (image->storage_class == PseudoClass) {\n              PVar19 = pPVar17[5].traits;\n              if (PVar19 == UndefinedPixelTrait) {\n                uVar21 = (uint)(fVar33 == fVar30);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar21 = (uint)(*(float *)(iVar9 + (iVar26 + pPVar17[5].offset) * 4) == fVar33);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = *(float *)(iVar9 + (iVar15 + pPVar17[5].offset) * 4);\nLAB_001feeb4:\n                  uVar20 = 8;\n                  if (fVar33 != fVar29) {\n                    uVar20 = 0;\n                  }\n                  uVar21 = uVar20 | uVar21;\n                }\n              }\n              if (!bVar2) {\n                fVar29 = 0.0;\n                if (PVar19 != UndefinedPixelTrait) {\n                  fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26) * 4);\n                }\n                uVar20 = (uint)(char)uVar21;\n                if (fVar33 == fVar29) {\n                  uVar20 = uVar20 | 2;\n                  uVar21 = uVar20;\n                }\n                if ((int)sVar12 <= iVar15) {\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 != UndefinedPixelTrait) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar29 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar29 = 0.0;\n                  if (PVar19 != UndefinedPixelTrait) {\n                    fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26 + 1) * 4);\n                  }\n                  if (fVar33 == fVar29) {\n                    uVar21 = uVar20 | 0x10;\n                  }\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 == UndefinedPixelTrait) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar29 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\nLAB_001fef68:\n                    uVar20 = (uint)(char)uVar21;\n                    if (fVar33 == fVar29) {\n                      uVar21 = uVar20 | 4;\n                      uVar20 = uVar21;\n                    }\n                    if ((int)sVar12 <= iVar15) goto LAB_001febe8;\n                    fVar30 = 0.0;\n                    if (PVar19 != UndefinedPixelTrait) {\n                      fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                    }\n                    if (fVar33 == fVar30) {\n                      uVar21 = uVar20 | 0x20;\n                    }\n                    if (puVar24 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar18 = sVar12 * 3 + iVar26;\n                      if (PVar19 == UndefinedPixelTrait) {\n                        fVar30 = 0.0;\n                      }\n                      else {\n                        fVar30 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\n                      }\n                      uVar20 = (uint)(char)uVar21;\n                      if (fVar33 == fVar30) {\n                        uVar21 = uVar20 | 0x40;\n                        uVar20 = uVar21;\n                      }\n                      if (iVar15 < (int)sVar12) {\n                        fVar30 = 0.0;\n                        if (PVar19 != UndefinedPixelTrait) {\n                          fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                        }\n                        if (fVar33 == fVar30) {\n                          uVar21 = uVar20 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              utf8[0] = 0xe2;\n              utf8[1] = (byte)(uVar21 >> 6) | 0xa0;\n              utf8[2] = (byte)uVar21 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(image,3,utf8);\n            }\n            else {\n              iVar18 = pPVar17[1].offset;\n              bVar4 = *(float *)(iVar9 + (iVar18 + iVar26) * 4) == fVar30;\n              uVar21 = (uint)bVar4;\n              bVar1 = iVar15 < (int)sVar12;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar20 = (uint)bVar4;\n                  if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar24 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar9 + (sVar12 * 2 + iVar26) * 4 + iVar18 * 4) == fVar30) {\n                      uVar21 = (int)(char)uVar21 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar20 = 8;\n              if (*(float *)(iVar9 + iVar15 * 4 + iVar18 * 4) != fVar30) {\n                uVar20 = 0;\n              }\n              uVar21 = uVar20 | uVar21;\n              if (bVar2) goto LAB_001fec34;\n              uVar20 = uVar21;\n              if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30) {\nLAB_001fed40:\n                uVar21 = uVar20 | 2;\n                uVar20 = uVar21;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar9 + (sVar12 + iVar26 + 1) * 4 + iVar18 * 4) == fVar30) {\n                uVar21 = uVar20 | 0x10;\n              }\n              if (puVar24 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 2 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if ((*(float *)(iVar13 + iVar18 * 4) == fVar30) &&\n                 (uVar21 = uVar20 | 4, uVar20 = uVar21, !bVar1)) {\nLAB_001febe8:\n                if (puVar24 != (undefined1 *)0x3) {\n                  if (image->storage_class == PseudoClass) {\n                    PVar19 = pPVar17[5].traits;\n                    goto LAB_001fefc0;\n                  }\n                  iVar18 = pPVar17[1].offset * 4;\n                  iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n                  uVar20 = (uint)(char)uVar21;\n                  if (*(float *)(iVar13 + iVar18) == fVar30) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar18 = iVar18 * 4;\n              if (*(float *)(iVar13 + iVar18 + 4) == fVar30) {\n                uVar21 = uVar20 | 0x20;\n              }\n              if (puVar24 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if (*(float *)(iVar13 + iVar18) == fVar30) {\nLAB_001fec28:\n                uVar20 = uVar20 | 0x40;\n                uVar21 = uVar20;\n                if ((int)sVar12 <= iVar15) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar13 + iVar18 + 4) != fVar30) goto LAB_001fec34;\n              uVar21 = uVar20 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image,puVar6[uVar21 + 0xa50]);\n              }\n            }\n            sVar12 = image->columns;\n            iVar26 = iVar26 + 2;\n          } while (iVar26 < (int)sVar12);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(image,10);\n        }\n        pEVar16 = pEVar25;\n        iVar9 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (image,puVar11,(int)pEVar25 >> 0x1f,pEVar25,0,image->rows);\n        if (iVar9 == 0) break;\n        puVar14 = (undefined1 *)image->rows;\n        pEVar25 = (ExceptionInfo *)(puVar24 + (int)&pEVar25->severity);\n        puVar23 = puVar24 + (int)&pEVar25->severity;\n      } while ((int)pEVar25 < (int)puVar14);\n    }\n    (*(code *)PTR_CloseBlob_003a9688)(image);\n    MVar10 = MagickTrue;\n  }\n  if (iVar8 == *(int *)puVar7) {\n    return MVar10;\n  }\n  (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_001ff384:\n  MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                     (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + 0x978,0xf4,\n                      &pEVar16[0x55].error_number);\n  return MVar10;\n}" type_identifier (function_declarator "WriteBRAILLEImage(ImageInfo *image_info,Image *image,ExceptionInfo *exception)" identifier (parameter_list "(ImageInfo *image_info,Image *image,ExceptionInfo *exception)" ( (parameter_declaration "ImageInfo *image_info" type_identifier (pointer_declarator "*image_info" * identifier)) , (parameter_declaration "Image *image" type_identifier (pointer_declarator "*image" * identifier)) , (parameter_declaration "ExceptionInfo *exception" type_identifier (pointer_declarator "*exception" * identifier)) ))) (compound_statement "{\n  bool bVar1;\n  bool bVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  int iVar8;\n  int iVar9;\n  MagickBooleanType MVar10;\n  undefined *puVar11;\n  size_t sVar12;\n  int iVar13;\n  undefined1 *puVar14;\n  int iVar15;\n  ExceptionInfo *pEVar16;\n  PixelChannelMap *pPVar17;\n  int iVar18;\n  PixelTrait PVar19;\n  uint uVar20;\n  uint uVar21;\n  char *pcVar22;\n  undefined1 *puVar23;\n  undefined1 *puVar24;\n  ExceptionInfo *pEVar25;\n  int iVar26;\n  float fVar29;\n  float fVar30;\n  double dVar27;\n  double dVar28;\n  undefined8 uVar31;\n  ulonglong uVar32;\n  float fVar33;\n  uchar utf8 [3];\n  char buffer [4096];\n  \n  puVar7 = PTR___stack_chk_guard_003a9230;\n  iVar8 = *(int *)PTR___stack_chk_guard_003a9230;\n  if (image_info == (ImageInfo *)0x0) {\n    MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,\n                        PTR_s_courses_003a88ec + 0xaa4);\n    return MVar10;\n  }\n  if (image_info->signature != 0xabacadab) {\n    MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,\n                        PTR_s_courses_003a88ec + 0xaa4);\n    return MVar10;\n  }\n  if (image == (Image *)0x0) {\n    MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                        PTR_s_courses_003a88ec + 0xaa4);\n    return MVar10;\n  }\n  if (image->signature != 0xabacadab) {\n    MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                        PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4);\n    return MVar10;\n  }\n  pcVar22 = image_info->magick;\n  iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46cc);\n  if (iVar9 == 0) {\n    puVar23 = &DAT_00000004;\n    bVar5 = true;\n    bVar3 = false;\nLAB_001fe9f8:\n    MVar10 = image->debug;\n  }\n  else {\n    iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46d4);\n    if (iVar9 != 0) {\n      iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46dc);\n      if (iVar9 == 0) {\n        puVar23 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar23 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar9 == 0;\n      }\n      goto LAB_001fe9f8;\n    }\n    MVar10 = image->debug;\n    puVar23 = (undefined1 *)0x3;\n    bVar5 = true;\n    bVar3 = false;\n  }\n  if (MVar10 != MagickFalse) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,image->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n    MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,\n                        PTR_s_courses_003a88ec + 0xaa4);\n    return MVar10;\n  }\n  pEVar16 = (ExceptionInfo *)PTR_s_courses_003a88ec;\n  if (exception->signature != 0xabacadab) goto LAB_001ff384;\n  pEVar16 = exception;\n  MVar10 = (*(code *)PTR_OpenBlob_003a924c)(image_info,image,4,exception);\n  if (MVar10 != MagickFalse) {\n    if (!bVar3) {\n      pEVar25 = (ExceptionInfo *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,exception\n                          );\n      if (pEVar25 != (ExceptionInfo *)0x0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (buffer,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,pEVar25);\n        (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n        pEVar16 = pEVar25;\n      }\n      if ((image->page).x != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      }\n      if ((image->page).y != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      }\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x9a4);\n      (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x9b4);\n      (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      (*(code *)PTR_WriteBlobString_003a95a8)(image,PTR_s_courses_003a88ec + -0x4bdc);\n    }\n    (*(code *)PTR_SetImageType_003a9188)(image,1,exception);\n    if (image->storage_class == PseudoClass) {\n      dVar27 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap);\n      uVar32 = 0;\n      if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar27) {\n        uVar32 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n      if (image->colors == 2) {\n        dVar27 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap);\n        dVar28 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap + 1);\n        if (dVar27 < dVar28) goto LAB_001fea70;\n        uVar32 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n    }\n    else {\nLAB_001fea70:\n      uVar32 = 0;\n    }\n    puVar6 = PTR_s_courses_003a88ec;\n    puVar14 = (undefined1 *)image->rows;\n    if (0 < (int)puVar14) {\n      pEVar25 = (ExceptionInfo *)0x0;\n      puVar11 = PTR_s_courses_003a88ec + -0x15c;\n      puVar24 = puVar23;\n      do {\n        if (puVar14 < puVar23) {\n          puVar24 = puVar14 + -(int)pEVar25;\n        }\n        pEVar16 = (ExceptionInfo *)image->columns;\n        iVar9 = (*(code *)PTR_GetVirtualPixels_003a9764)(image,0,pEVar25,pEVar16,puVar24,exception);\n        if (iVar9 == 0) break;\n        sVar12 = image->columns;\n        if (0 < (int)sVar12) {\n          uVar31 = 0;\n          iVar26 = 0;\n          bVar2 = puVar24 < (undefined1 *)0x2;\n          do {\n            iVar15 = iVar26 + 1;\n            pPVar17 = image->channel_map;\n            fVar30 = (float)uVar31;\n            fVar33 = (float)uVar32;\n            if (image->storage_class == PseudoClass) {\n              PVar19 = pPVar17[5].traits;\n              if (PVar19 == UndefinedPixelTrait) {\n                uVar21 = (uint)(fVar33 == fVar30);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar21 = (uint)(*(float *)(iVar9 + (iVar26 + pPVar17[5].offset) * 4) == fVar33);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = *(float *)(iVar9 + (iVar15 + pPVar17[5].offset) * 4);\nLAB_001feeb4:\n                  uVar20 = 8;\n                  if (fVar33 != fVar29) {\n                    uVar20 = 0;\n                  }\n                  uVar21 = uVar20 | uVar21;\n                }\n              }\n              if (!bVar2) {\n                fVar29 = 0.0;\n                if (PVar19 != UndefinedPixelTrait) {\n                  fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26) * 4);\n                }\n                uVar20 = (uint)(char)uVar21;\n                if (fVar33 == fVar29) {\n                  uVar20 = uVar20 | 2;\n                  uVar21 = uVar20;\n                }\n                if ((int)sVar12 <= iVar15) {\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 != UndefinedPixelTrait) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar29 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar29 = 0.0;\n                  if (PVar19 != UndefinedPixelTrait) {\n                    fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26 + 1) * 4);\n                  }\n                  if (fVar33 == fVar29) {\n                    uVar21 = uVar20 | 0x10;\n                  }\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 == UndefinedPixelTrait) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar29 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\nLAB_001fef68:\n                    uVar20 = (uint)(char)uVar21;\n                    if (fVar33 == fVar29) {\n                      uVar21 = uVar20 | 4;\n                      uVar20 = uVar21;\n                    }\n                    if ((int)sVar12 <= iVar15) goto LAB_001febe8;\n                    fVar30 = 0.0;\n                    if (PVar19 != UndefinedPixelTrait) {\n                      fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                    }\n                    if (fVar33 == fVar30) {\n                      uVar21 = uVar20 | 0x20;\n                    }\n                    if (puVar24 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar18 = sVar12 * 3 + iVar26;\n                      if (PVar19 == UndefinedPixelTrait) {\n                        fVar30 = 0.0;\n                      }\n                      else {\n                        fVar30 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\n                      }\n                      uVar20 = (uint)(char)uVar21;\n                      if (fVar33 == fVar30) {\n                        uVar21 = uVar20 | 0x40;\n                        uVar20 = uVar21;\n                      }\n                      if (iVar15 < (int)sVar12) {\n                        fVar30 = 0.0;\n                        if (PVar19 != UndefinedPixelTrait) {\n                          fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                        }\n                        if (fVar33 == fVar30) {\n                          uVar21 = uVar20 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              utf8[0] = 0xe2;\n              utf8[1] = (byte)(uVar21 >> 6) | 0xa0;\n              utf8[2] = (byte)uVar21 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(image,3,utf8);\n            }\n            else {\n              iVar18 = pPVar17[1].offset;\n              bVar4 = *(float *)(iVar9 + (iVar18 + iVar26) * 4) == fVar30;\n              uVar21 = (uint)bVar4;\n              bVar1 = iVar15 < (int)sVar12;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar20 = (uint)bVar4;\n                  if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar24 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar9 + (sVar12 * 2 + iVar26) * 4 + iVar18 * 4) == fVar30) {\n                      uVar21 = (int)(char)uVar21 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar20 = 8;\n              if (*(float *)(iVar9 + iVar15 * 4 + iVar18 * 4) != fVar30) {\n                uVar20 = 0;\n              }\n              uVar21 = uVar20 | uVar21;\n              if (bVar2) goto LAB_001fec34;\n              uVar20 = uVar21;\n              if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30) {\nLAB_001fed40:\n                uVar21 = uVar20 | 2;\n                uVar20 = uVar21;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar9 + (sVar12 + iVar26 + 1) * 4 + iVar18 * 4) == fVar30) {\n                uVar21 = uVar20 | 0x10;\n              }\n              if (puVar24 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 2 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if ((*(float *)(iVar13 + iVar18 * 4) == fVar30) &&\n                 (uVar21 = uVar20 | 4, uVar20 = uVar21, !bVar1)) {\nLAB_001febe8:\n                if (puVar24 != (undefined1 *)0x3) {\n                  if (image->storage_class == PseudoClass) {\n                    PVar19 = pPVar17[5].traits;\n                    goto LAB_001fefc0;\n                  }\n                  iVar18 = pPVar17[1].offset * 4;\n                  iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n                  uVar20 = (uint)(char)uVar21;\n                  if (*(float *)(iVar13 + iVar18) == fVar30) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar18 = iVar18 * 4;\n              if (*(float *)(iVar13 + iVar18 + 4) == fVar30) {\n                uVar21 = uVar20 | 0x20;\n              }\n              if (puVar24 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if (*(float *)(iVar13 + iVar18) == fVar30) {\nLAB_001fec28:\n                uVar20 = uVar20 | 0x40;\n                uVar21 = uVar20;\n                if ((int)sVar12 <= iVar15) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar13 + iVar18 + 4) != fVar30) goto LAB_001fec34;\n              uVar21 = uVar20 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image,puVar6[uVar21 + 0xa50]);\n              }\n            }\n            sVar12 = image->columns;\n            iVar26 = iVar26 + 2;\n          } while (iVar26 < (int)sVar12);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(image,10);\n        }\n        pEVar16 = pEVar25;\n        iVar9 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (image,puVar11,(int)pEVar25 >> 0x1f,pEVar25,0,image->rows);\n        if (iVar9 == 0) break;\n        puVar14 = (undefined1 *)image->rows;\n        pEVar25 = (ExceptionInfo *)(puVar24 + (int)&pEVar25->severity);\n        puVar23 = puVar24 + (int)&pEVar25->severity;\n      } while ((int)pEVar25 < (int)puVar14);\n    }\n    (*(code *)PTR_CloseBlob_003a9688)(image);\n    MVar10 = MagickTrue;\n  }\n  if (iVar8 == *(int *)puVar7) {\n    return MVar10;\n  }\n  (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_001ff384:\n  MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                     (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + 0x978,0xf4,\n                      &pEVar16[0x55].error_number);\n  return MVar10;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "MagickBooleanType MVar10;" type_identifier identifier ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "size_t sVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined1 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "ExceptionInfo *pEVar16;" type_identifier (pointer_declarator "*pEVar16" * identifier) ;) (declaration "PixelChannelMap *pPVar17;" type_identifier (pointer_declarator "*pPVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "PixelTrait PVar19;" type_identifier identifier ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "char *pcVar22;" primitive_type (pointer_declarator "*pcVar22" * identifier) ;) (declaration "undefined1 *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "undefined1 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "ExceptionInfo *pEVar25;" type_identifier (pointer_declarator "*pEVar25" * identifier) ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "float fVar29;" primitive_type identifier ;) (declaration "float fVar30;" primitive_type identifier ;) (declaration "double dVar27;" primitive_type identifier ;) (declaration "double dVar28;" primitive_type identifier ;) (declaration "undefined8 uVar31;" type_identifier identifier ;) (declaration "ulonglong uVar32;" type_identifier identifier ;) (declaration "float fVar33;" primitive_type identifier ;) (declaration "uchar utf8 [3];" type_identifier (array_declarator "utf8 [3]" identifier [ number_literal ]) ;) (declaration "char buffer [4096];" primitive_type (array_declarator "buffer [4096]" identifier [ number_literal ]) ;) (expression_statement "puVar7 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar7 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "iVar8 = *(int *)PTR___stack_chk_guard_003a9230;" (assignment_expression "iVar8 = *(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    MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,\n                        PTR_s_courses_003a88ec + 0xaa4);\n    return MVar10;\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    MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,\n                        PTR_s_courses_003a88ec + 0xaa4);\n    return MVar10;\n  }" { (expression_statement "MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,\n                        PTR_s_courses_003a88ec + 0xaa4);" (assignment_expression "MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,\n                        PTR_s_courses_003a88ec + 0xaa4)" identifier = (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,\n                        PTR_s_courses_003a88ec + 0xaa4)" (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_s_courses_003a88ec + 0x978,0xdb,\n                        PTR_s_courses_003a88ec + 0xaa4)" ( (binary_expression "PTR_LAB_003a88e0 + 0xd78" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + 0x978" identifier + number_literal) , number_literal , (binary_expression "PTR_s_courses_003a88ec + 0xaa4" identifier + number_literal) )))) ;) (return_statement "return MVar10;" return identifier ;) })) (if_statement "if (image_info->signature != 0xabacadab) {\n    MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,\n                        PTR_s_courses_003a88ec + 0xaa4);\n    return MVar10;\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    MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,\n                        PTR_s_courses_003a88ec + 0xaa4);\n    return MVar10;\n  }" { (expression_statement "MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,\n                        PTR_s_courses_003a88ec + 0xaa4);" (assignment_expression "MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,\n                        PTR_s_courses_003a88ec + 0xaa4)" identifier = (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,\n                        PTR_s_courses_003a88ec + 0xaa4)" (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_s_courses_003a88ec + 0x978,0xdc,\n                        PTR_s_courses_003a88ec + 0xaa4)" ( (binary_expression "PTR_LAB_003a88e0 + 0xda0" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + 0x978" identifier + number_literal) , number_literal , (binary_expression "PTR_s_courses_003a88ec + 0xaa4" identifier + number_literal) )))) ;) (return_statement "return MVar10;" return identifier ;) })) (if_statement "if (image == (Image *)0x0) {\n    MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                        PTR_s_courses_003a88ec + 0xaa4);\n    return MVar10;\n  }" if (parenthesized_expression "(image == (Image *)0x0)" ( (binary_expression "image == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                        PTR_s_courses_003a88ec + 0xaa4);\n    return MVar10;\n  }" { (expression_statement "MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                        PTR_s_courses_003a88ec + 0xaa4);" (assignment_expression "MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                        PTR_s_courses_003a88ec + 0xaa4)" identifier = (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                        PTR_s_courses_003a88ec + 0xaa4)" (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 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                        PTR_s_courses_003a88ec + 0xaa4)" ( (binary_expression "PTR_LAB_003a88e0 + 0xdd0" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + 0x978" identifier + number_literal) , number_literal , (binary_expression "PTR_s_courses_003a88ec + 0xaa4" identifier + number_literal) )))) ;) (return_statement "return MVar10;" return identifier ;) })) (if_statement "if (image->signature != 0xabacadab) {\n    MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                        PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4);\n    return MVar10;\n  }" if (parenthesized_expression "(image->signature != 0xabacadab)" ( (binary_expression "image->signature != 0xabacadab" (field_expression "image->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n    MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                        PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4);\n    return MVar10;\n  }" { (expression_statement "MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                        PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4);" (assignment_expression "MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                        PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4)" identifier = (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                       (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                        PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                        PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + 0x978" identifier + number_literal) , number_literal , (binary_expression "PTR_s_courses_003a88ec + 0xaa4" identifier + number_literal) )))) ;) (return_statement "return MVar10;" return identifier ;) })) (expression_statement "pcVar22 = image_info->magick;" (assignment_expression "pcVar22 = image_info->magick" identifier = (field_expression "image_info->magick" identifier -> field_identifier)) ;) (expression_statement "iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46cc);" (assignment_expression "iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46cc)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46cc)" (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 "(pcVar22,PTR_LAB_003a88e0 + 0x46cc)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x46cc" identifier + number_literal) )))) ;) (if_statement "if (iVar9 == 0) {\n    puVar23 = &DAT_00000004;\n    bVar5 = true;\n    bVar3 = false;\nLAB_001fe9f8:\n    MVar10 = image->debug;\n  }\n  else {\n    iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46d4);\n    if (iVar9 != 0) {\n      iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46dc);\n      if (iVar9 == 0) {\n        puVar23 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar23 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar9 == 0;\n      }\n      goto LAB_001fe9f8;\n    }\n    MVar10 = image->debug;\n    puVar23 = (undefined1 *)0x3;\n    bVar5 = true;\n    bVar3 = false;\n  }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n    puVar23 = &DAT_00000004;\n    bVar5 = true;\n    bVar3 = false;\nLAB_001fe9f8:\n    MVar10 = image->debug;\n  }" { (expression_statement "puVar23 = &DAT_00000004;" (assignment_expression "puVar23 = &DAT_00000004" identifier = (pointer_expression "&DAT_00000004" & identifier)) ;) (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" identifier = true) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (labeled_statement "LAB_001fe9f8:\n    MVar10 = image->debug;" statement_identifier : (expression_statement "MVar10 = image->debug;" (assignment_expression "MVar10 = image->debug" identifier = (field_expression "image->debug" identifier -> field_identifier)) ;)) }) (else_clause "else {\n    iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46d4);\n    if (iVar9 != 0) {\n      iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46dc);\n      if (iVar9 == 0) {\n        puVar23 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar23 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar9 == 0;\n      }\n      goto LAB_001fe9f8;\n    }\n    MVar10 = image->debug;\n    puVar23 = (undefined1 *)0x3;\n    bVar5 = true;\n    bVar3 = false;\n  }" else (compound_statement "{\n    iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46d4);\n    if (iVar9 != 0) {\n      iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46dc);\n      if (iVar9 == 0) {\n        puVar23 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar23 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar9 == 0;\n      }\n      goto LAB_001fe9f8;\n    }\n    MVar10 = image->debug;\n    puVar23 = (undefined1 *)0x3;\n    bVar5 = true;\n    bVar3 = false;\n  }" { (expression_statement "iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46d4);" (assignment_expression "iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46d4)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46d4)" (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 "(pcVar22,PTR_LAB_003a88e0 + 0x46d4)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x46d4" identifier + number_literal) )))) ;) (if_statement "if (iVar9 != 0) {\n      iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46dc);\n      if (iVar9 == 0) {\n        puVar23 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar23 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar9 == 0;\n      }\n      goto LAB_001fe9f8;\n    }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46dc);\n      if (iVar9 == 0) {\n        puVar23 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar23 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar9 == 0;\n      }\n      goto LAB_001fe9f8;\n    }" { (expression_statement "iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46dc);" (assignment_expression "iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46dc)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46dc)" (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 "(pcVar22,PTR_LAB_003a88e0 + 0x46dc)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x46dc" identifier + number_literal) )))) ;) (if_statement "if (iVar9 == 0) {\n        puVar23 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar23 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar9 == 0;\n      }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n        puVar23 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }" { (expression_statement "puVar23 = &DAT_00000004;" (assignment_expression "puVar23 = &DAT_00000004" identifier = (pointer_expression "&DAT_00000004" & identifier)) ;) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) }) (else_clause "else {\n        puVar23 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar9 == 0;\n      }" else (compound_statement "{\n        puVar23 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar9 == 0;\n      }" { (expression_statement "puVar23 = (undefined1 *)0x3;" (assignment_expression "puVar23 = (undefined1 *)0x3" identifier = (cast_expression "(undefined1 *)0x3" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) (expression_statement "iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46e4);" (assignment_expression "iVar9 = (*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46e4)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(pcVar22,PTR_LAB_003a88e0 + 0x46e4)" (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 "(pcVar22,PTR_LAB_003a88e0 + 0x46e4)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x46e4" identifier + number_literal) )))) ;) (expression_statement "bVar3 = iVar9 == 0;" (assignment_expression "bVar3 = iVar9 == 0" identifier = (binary_expression "iVar9 == 0" identifier == number_literal)) ;) }))) (goto_statement "goto LAB_001fe9f8;" goto statement_identifier ;) })) (expression_statement "MVar10 = image->debug;" (assignment_expression "MVar10 = image->debug" identifier = (field_expression "image->debug" identifier -> field_identifier)) ;) (expression_statement "puVar23 = (undefined1 *)0x3;" (assignment_expression "puVar23 = (undefined1 *)0x3" identifier = (cast_expression "(undefined1 *)0x3" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" identifier = true) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) }))) (if_statement "if (MVar10 != MagickFalse) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,image->filename);\n  }" if (parenthesized_expression "(MVar10 != MagickFalse)" ( (binary_expression "MVar10 != MagickFalse" identifier != identifier) )) (compound_statement "{\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,image->filename);\n  }" { (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,image->filename);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,image->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_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,image->filename)" ( number_literal , (binary_expression "PTR_s_courses_003a88ec + 0x978" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + 0xa90" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" identifier + number_literal) , (field_expression "image->filename" identifier -> field_identifier) ))) ;) })) (if_statement "if (exception == (ExceptionInfo *)0x0) {\n    MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,\n                        PTR_s_courses_003a88ec + 0xaa4);\n    return MVar10;\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    MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,\n                        PTR_s_courses_003a88ec + 0xaa4);\n    return MVar10;\n  }" { (expression_statement "MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,\n                        PTR_s_courses_003a88ec + 0xaa4);" (assignment_expression "MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,\n                        PTR_s_courses_003a88ec + 0xaa4)" identifier = (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                       (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,\n                        PTR_s_courses_003a88ec + 0xaa4)" (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_s_courses_003a88ec + 0x978,0xf3,\n                        PTR_s_courses_003a88ec + 0xaa4)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1cac" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + 0x978" identifier + number_literal) , number_literal , (binary_expression "PTR_s_courses_003a88ec + 0xaa4" identifier + number_literal) )))) ;) (return_statement "return MVar10;" return identifier ;) })) (expression_statement "pEVar16 = (ExceptionInfo *)PTR_s_courses_003a88ec;" (assignment_expression "pEVar16 = (ExceptionInfo *)PTR_s_courses_003a88ec" identifier = (cast_expression "(ExceptionInfo *)PTR_s_courses_003a88ec" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (exception->signature != 0xabacadab) goto LAB_001ff384;" if (parenthesized_expression "(exception->signature != 0xabacadab)" ( (binary_expression "exception->signature != 0xabacadab" (field_expression "exception->signature" identifier -> field_identifier) != number_literal) )) (goto_statement "goto LAB_001ff384;" goto statement_identifier ;)) (expression_statement "pEVar16 = exception;" (assignment_expression "pEVar16 = exception" identifier = identifier) ;) (expression_statement "MVar10 = (*(code *)PTR_OpenBlob_003a924c)(image_info,image,4,exception);" (assignment_expression "MVar10 = (*(code *)PTR_OpenBlob_003a924c)(image_info,image,4,exception)" identifier = (call_expression "(*(code *)PTR_OpenBlob_003a924c)(image_info,image,4,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,image,4,exception)" ( identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (MVar10 != MagickFalse) {\n    if (!bVar3) {\n      pEVar25 = (ExceptionInfo *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,exception\n                          );\n      if (pEVar25 != (ExceptionInfo *)0x0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (buffer,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,pEVar25);\n        (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n        pEVar16 = pEVar25;\n      }\n      if ((image->page).x != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      }\n      if ((image->page).y != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      }\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x9a4);\n      (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x9b4);\n      (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      (*(code *)PTR_WriteBlobString_003a95a8)(image,PTR_s_courses_003a88ec + -0x4bdc);\n    }\n    (*(code *)PTR_SetImageType_003a9188)(image,1,exception);\n    if (image->storage_class == PseudoClass) {\n      dVar27 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap);\n      uVar32 = 0;\n      if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar27) {\n        uVar32 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n      if (image->colors == 2) {\n        dVar27 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap);\n        dVar28 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap + 1);\n        if (dVar27 < dVar28) goto LAB_001fea70;\n        uVar32 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n    }\n    else {\nLAB_001fea70:\n      uVar32 = 0;\n    }\n    puVar6 = PTR_s_courses_003a88ec;\n    puVar14 = (undefined1 *)image->rows;\n    if (0 < (int)puVar14) {\n      pEVar25 = (ExceptionInfo *)0x0;\n      puVar11 = PTR_s_courses_003a88ec + -0x15c;\n      puVar24 = puVar23;\n      do {\n        if (puVar14 < puVar23) {\n          puVar24 = puVar14 + -(int)pEVar25;\n        }\n        pEVar16 = (ExceptionInfo *)image->columns;\n        iVar9 = (*(code *)PTR_GetVirtualPixels_003a9764)(image,0,pEVar25,pEVar16,puVar24,exception);\n        if (iVar9 == 0) break;\n        sVar12 = image->columns;\n        if (0 < (int)sVar12) {\n          uVar31 = 0;\n          iVar26 = 0;\n          bVar2 = puVar24 < (undefined1 *)0x2;\n          do {\n            iVar15 = iVar26 + 1;\n            pPVar17 = image->channel_map;\n            fVar30 = (float)uVar31;\n            fVar33 = (float)uVar32;\n            if (image->storage_class == PseudoClass) {\n              PVar19 = pPVar17[5].traits;\n              if (PVar19 == UndefinedPixelTrait) {\n                uVar21 = (uint)(fVar33 == fVar30);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar21 = (uint)(*(float *)(iVar9 + (iVar26 + pPVar17[5].offset) * 4) == fVar33);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = *(float *)(iVar9 + (iVar15 + pPVar17[5].offset) * 4);\nLAB_001feeb4:\n                  uVar20 = 8;\n                  if (fVar33 != fVar29) {\n                    uVar20 = 0;\n                  }\n                  uVar21 = uVar20 | uVar21;\n                }\n              }\n              if (!bVar2) {\n                fVar29 = 0.0;\n                if (PVar19 != UndefinedPixelTrait) {\n                  fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26) * 4);\n                }\n                uVar20 = (uint)(char)uVar21;\n                if (fVar33 == fVar29) {\n                  uVar20 = uVar20 | 2;\n                  uVar21 = uVar20;\n                }\n                if ((int)sVar12 <= iVar15) {\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 != UndefinedPixelTrait) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar29 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar29 = 0.0;\n                  if (PVar19 != UndefinedPixelTrait) {\n                    fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26 + 1) * 4);\n                  }\n                  if (fVar33 == fVar29) {\n                    uVar21 = uVar20 | 0x10;\n                  }\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 == UndefinedPixelTrait) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar29 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\nLAB_001fef68:\n                    uVar20 = (uint)(char)uVar21;\n                    if (fVar33 == fVar29) {\n                      uVar21 = uVar20 | 4;\n                      uVar20 = uVar21;\n                    }\n                    if ((int)sVar12 <= iVar15) goto LAB_001febe8;\n                    fVar30 = 0.0;\n                    if (PVar19 != UndefinedPixelTrait) {\n                      fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                    }\n                    if (fVar33 == fVar30) {\n                      uVar21 = uVar20 | 0x20;\n                    }\n                    if (puVar24 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar18 = sVar12 * 3 + iVar26;\n                      if (PVar19 == UndefinedPixelTrait) {\n                        fVar30 = 0.0;\n                      }\n                      else {\n                        fVar30 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\n                      }\n                      uVar20 = (uint)(char)uVar21;\n                      if (fVar33 == fVar30) {\n                        uVar21 = uVar20 | 0x40;\n                        uVar20 = uVar21;\n                      }\n                      if (iVar15 < (int)sVar12) {\n                        fVar30 = 0.0;\n                        if (PVar19 != UndefinedPixelTrait) {\n                          fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                        }\n                        if (fVar33 == fVar30) {\n                          uVar21 = uVar20 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              utf8[0] = 0xe2;\n              utf8[1] = (byte)(uVar21 >> 6) | 0xa0;\n              utf8[2] = (byte)uVar21 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(image,3,utf8);\n            }\n            else {\n              iVar18 = pPVar17[1].offset;\n              bVar4 = *(float *)(iVar9 + (iVar18 + iVar26) * 4) == fVar30;\n              uVar21 = (uint)bVar4;\n              bVar1 = iVar15 < (int)sVar12;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar20 = (uint)bVar4;\n                  if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar24 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar9 + (sVar12 * 2 + iVar26) * 4 + iVar18 * 4) == fVar30) {\n                      uVar21 = (int)(char)uVar21 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar20 = 8;\n              if (*(float *)(iVar9 + iVar15 * 4 + iVar18 * 4) != fVar30) {\n                uVar20 = 0;\n              }\n              uVar21 = uVar20 | uVar21;\n              if (bVar2) goto LAB_001fec34;\n              uVar20 = uVar21;\n              if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30) {\nLAB_001fed40:\n                uVar21 = uVar20 | 2;\n                uVar20 = uVar21;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar9 + (sVar12 + iVar26 + 1) * 4 + iVar18 * 4) == fVar30) {\n                uVar21 = uVar20 | 0x10;\n              }\n              if (puVar24 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 2 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if ((*(float *)(iVar13 + iVar18 * 4) == fVar30) &&\n                 (uVar21 = uVar20 | 4, uVar20 = uVar21, !bVar1)) {\nLAB_001febe8:\n                if (puVar24 != (undefined1 *)0x3) {\n                  if (image->storage_class == PseudoClass) {\n                    PVar19 = pPVar17[5].traits;\n                    goto LAB_001fefc0;\n                  }\n                  iVar18 = pPVar17[1].offset * 4;\n                  iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n                  uVar20 = (uint)(char)uVar21;\n                  if (*(float *)(iVar13 + iVar18) == fVar30) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar18 = iVar18 * 4;\n              if (*(float *)(iVar13 + iVar18 + 4) == fVar30) {\n                uVar21 = uVar20 | 0x20;\n              }\n              if (puVar24 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if (*(float *)(iVar13 + iVar18) == fVar30) {\nLAB_001fec28:\n                uVar20 = uVar20 | 0x40;\n                uVar21 = uVar20;\n                if ((int)sVar12 <= iVar15) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar13 + iVar18 + 4) != fVar30) goto LAB_001fec34;\n              uVar21 = uVar20 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image,puVar6[uVar21 + 0xa50]);\n              }\n            }\n            sVar12 = image->columns;\n            iVar26 = iVar26 + 2;\n          } while (iVar26 < (int)sVar12);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(image,10);\n        }\n        pEVar16 = pEVar25;\n        iVar9 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (image,puVar11,(int)pEVar25 >> 0x1f,pEVar25,0,image->rows);\n        if (iVar9 == 0) break;\n        puVar14 = (undefined1 *)image->rows;\n        pEVar25 = (ExceptionInfo *)(puVar24 + (int)&pEVar25->severity);\n        puVar23 = puVar24 + (int)&pEVar25->severity;\n      } while ((int)pEVar25 < (int)puVar14);\n    }\n    (*(code *)PTR_CloseBlob_003a9688)(image);\n    MVar10 = MagickTrue;\n  }" if (parenthesized_expression "(MVar10 != MagickFalse)" ( (binary_expression "MVar10 != MagickFalse" identifier != identifier) )) (compound_statement "{\n    if (!bVar3) {\n      pEVar25 = (ExceptionInfo *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,exception\n                          );\n      if (pEVar25 != (ExceptionInfo *)0x0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (buffer,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,pEVar25);\n        (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n        pEVar16 = pEVar25;\n      }\n      if ((image->page).x != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      }\n      if ((image->page).y != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      }\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x9a4);\n      (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x9b4);\n      (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      (*(code *)PTR_WriteBlobString_003a95a8)(image,PTR_s_courses_003a88ec + -0x4bdc);\n    }\n    (*(code *)PTR_SetImageType_003a9188)(image,1,exception);\n    if (image->storage_class == PseudoClass) {\n      dVar27 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap);\n      uVar32 = 0;\n      if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar27) {\n        uVar32 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n      if (image->colors == 2) {\n        dVar27 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap);\n        dVar28 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap + 1);\n        if (dVar27 < dVar28) goto LAB_001fea70;\n        uVar32 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n    }\n    else {\nLAB_001fea70:\n      uVar32 = 0;\n    }\n    puVar6 = PTR_s_courses_003a88ec;\n    puVar14 = (undefined1 *)image->rows;\n    if (0 < (int)puVar14) {\n      pEVar25 = (ExceptionInfo *)0x0;\n      puVar11 = PTR_s_courses_003a88ec + -0x15c;\n      puVar24 = puVar23;\n      do {\n        if (puVar14 < puVar23) {\n          puVar24 = puVar14 + -(int)pEVar25;\n        }\n        pEVar16 = (ExceptionInfo *)image->columns;\n        iVar9 = (*(code *)PTR_GetVirtualPixels_003a9764)(image,0,pEVar25,pEVar16,puVar24,exception);\n        if (iVar9 == 0) break;\n        sVar12 = image->columns;\n        if (0 < (int)sVar12) {\n          uVar31 = 0;\n          iVar26 = 0;\n          bVar2 = puVar24 < (undefined1 *)0x2;\n          do {\n            iVar15 = iVar26 + 1;\n            pPVar17 = image->channel_map;\n            fVar30 = (float)uVar31;\n            fVar33 = (float)uVar32;\n            if (image->storage_class == PseudoClass) {\n              PVar19 = pPVar17[5].traits;\n              if (PVar19 == UndefinedPixelTrait) {\n                uVar21 = (uint)(fVar33 == fVar30);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar21 = (uint)(*(float *)(iVar9 + (iVar26 + pPVar17[5].offset) * 4) == fVar33);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = *(float *)(iVar9 + (iVar15 + pPVar17[5].offset) * 4);\nLAB_001feeb4:\n                  uVar20 = 8;\n                  if (fVar33 != fVar29) {\n                    uVar20 = 0;\n                  }\n                  uVar21 = uVar20 | uVar21;\n                }\n              }\n              if (!bVar2) {\n                fVar29 = 0.0;\n                if (PVar19 != UndefinedPixelTrait) {\n                  fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26) * 4);\n                }\n                uVar20 = (uint)(char)uVar21;\n                if (fVar33 == fVar29) {\n                  uVar20 = uVar20 | 2;\n                  uVar21 = uVar20;\n                }\n                if ((int)sVar12 <= iVar15) {\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 != UndefinedPixelTrait) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar29 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar29 = 0.0;\n                  if (PVar19 != UndefinedPixelTrait) {\n                    fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26 + 1) * 4);\n                  }\n                  if (fVar33 == fVar29) {\n                    uVar21 = uVar20 | 0x10;\n                  }\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 == UndefinedPixelTrait) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar29 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\nLAB_001fef68:\n                    uVar20 = (uint)(char)uVar21;\n                    if (fVar33 == fVar29) {\n                      uVar21 = uVar20 | 4;\n                      uVar20 = uVar21;\n                    }\n                    if ((int)sVar12 <= iVar15) goto LAB_001febe8;\n                    fVar30 = 0.0;\n                    if (PVar19 != UndefinedPixelTrait) {\n                      fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                    }\n                    if (fVar33 == fVar30) {\n                      uVar21 = uVar20 | 0x20;\n                    }\n                    if (puVar24 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar18 = sVar12 * 3 + iVar26;\n                      if (PVar19 == UndefinedPixelTrait) {\n                        fVar30 = 0.0;\n                      }\n                      else {\n                        fVar30 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\n                      }\n                      uVar20 = (uint)(char)uVar21;\n                      if (fVar33 == fVar30) {\n                        uVar21 = uVar20 | 0x40;\n                        uVar20 = uVar21;\n                      }\n                      if (iVar15 < (int)sVar12) {\n                        fVar30 = 0.0;\n                        if (PVar19 != UndefinedPixelTrait) {\n                          fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                        }\n                        if (fVar33 == fVar30) {\n                          uVar21 = uVar20 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              utf8[0] = 0xe2;\n              utf8[1] = (byte)(uVar21 >> 6) | 0xa0;\n              utf8[2] = (byte)uVar21 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(image,3,utf8);\n            }\n            else {\n              iVar18 = pPVar17[1].offset;\n              bVar4 = *(float *)(iVar9 + (iVar18 + iVar26) * 4) == fVar30;\n              uVar21 = (uint)bVar4;\n              bVar1 = iVar15 < (int)sVar12;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar20 = (uint)bVar4;\n                  if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar24 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar9 + (sVar12 * 2 + iVar26) * 4 + iVar18 * 4) == fVar30) {\n                      uVar21 = (int)(char)uVar21 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar20 = 8;\n              if (*(float *)(iVar9 + iVar15 * 4 + iVar18 * 4) != fVar30) {\n                uVar20 = 0;\n              }\n              uVar21 = uVar20 | uVar21;\n              if (bVar2) goto LAB_001fec34;\n              uVar20 = uVar21;\n              if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30) {\nLAB_001fed40:\n                uVar21 = uVar20 | 2;\n                uVar20 = uVar21;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar9 + (sVar12 + iVar26 + 1) * 4 + iVar18 * 4) == fVar30) {\n                uVar21 = uVar20 | 0x10;\n              }\n              if (puVar24 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 2 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if ((*(float *)(iVar13 + iVar18 * 4) == fVar30) &&\n                 (uVar21 = uVar20 | 4, uVar20 = uVar21, !bVar1)) {\nLAB_001febe8:\n                if (puVar24 != (undefined1 *)0x3) {\n                  if (image->storage_class == PseudoClass) {\n                    PVar19 = pPVar17[5].traits;\n                    goto LAB_001fefc0;\n                  }\n                  iVar18 = pPVar17[1].offset * 4;\n                  iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n                  uVar20 = (uint)(char)uVar21;\n                  if (*(float *)(iVar13 + iVar18) == fVar30) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar18 = iVar18 * 4;\n              if (*(float *)(iVar13 + iVar18 + 4) == fVar30) {\n                uVar21 = uVar20 | 0x20;\n              }\n              if (puVar24 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if (*(float *)(iVar13 + iVar18) == fVar30) {\nLAB_001fec28:\n                uVar20 = uVar20 | 0x40;\n                uVar21 = uVar20;\n                if ((int)sVar12 <= iVar15) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar13 + iVar18 + 4) != fVar30) goto LAB_001fec34;\n              uVar21 = uVar20 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image,puVar6[uVar21 + 0xa50]);\n              }\n            }\n            sVar12 = image->columns;\n            iVar26 = iVar26 + 2;\n          } while (iVar26 < (int)sVar12);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(image,10);\n        }\n        pEVar16 = pEVar25;\n        iVar9 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (image,puVar11,(int)pEVar25 >> 0x1f,pEVar25,0,image->rows);\n        if (iVar9 == 0) break;\n        puVar14 = (undefined1 *)image->rows;\n        pEVar25 = (ExceptionInfo *)(puVar24 + (int)&pEVar25->severity);\n        puVar23 = puVar24 + (int)&pEVar25->severity;\n      } while ((int)pEVar25 < (int)puVar14);\n    }\n    (*(code *)PTR_CloseBlob_003a9688)(image);\n    MVar10 = MagickTrue;\n  }" { (if_statement "if (!bVar3) {\n      pEVar25 = (ExceptionInfo *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,exception\n                          );\n      if (pEVar25 != (ExceptionInfo *)0x0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (buffer,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,pEVar25);\n        (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n        pEVar16 = pEVar25;\n      }\n      if ((image->page).x != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      }\n      if ((image->page).y != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      }\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x9a4);\n      (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x9b4);\n      (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      (*(code *)PTR_WriteBlobString_003a95a8)(image,PTR_s_courses_003a88ec + -0x4bdc);\n    }" if (parenthesized_expression "(!bVar3)" ( (unary_expression "!bVar3" ! identifier) )) (compound_statement "{\n      pEVar25 = (ExceptionInfo *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,exception\n                          );\n      if (pEVar25 != (ExceptionInfo *)0x0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (buffer,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,pEVar25);\n        (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n        pEVar16 = pEVar25;\n      }\n      if ((image->page).x != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      }\n      if ((image->page).y != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      }\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x9a4);\n      (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x9b4);\n      (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      (*(code *)PTR_WriteBlobString_003a95a8)(image,PTR_s_courses_003a88ec + -0x4bdc);\n    }" { (expression_statement "pEVar25 = (ExceptionInfo *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,exception\n                          );" (assignment_expression "pEVar25 = (ExceptionInfo *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,exception\n                          )" identifier = (cast_expression "(ExceptionInfo *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,exception\n                          )" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_GetImageProperty_003a93fc)\n                          (image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,exception\n                          )" (parenthesized_expression "(*(code *)PTR_GetImageProperty_003a93fc)" ( (pointer_expression "*(code *)PTR_GetImageProperty_003a93fc" * (cast_expression "(code *)PTR_GetImageProperty_003a93fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,exception\n                          )" ( identifier , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920" identifier + number_literal) , identifier ))))) ;) (if_statement "if (pEVar25 != (ExceptionInfo *)0x0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (buffer,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,pEVar25);\n        (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n        pEVar16 = pEVar25;\n      }" if (parenthesized_expression "(pEVar25 != (ExceptionInfo *)0x0)" ( (binary_expression "pEVar25 != (ExceptionInfo *)0x0" identifier != (cast_expression "(ExceptionInfo *)0x0" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (buffer,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,pEVar25);\n        (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n        pEVar16 = pEVar25;\n      }" { (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (buffer,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,pEVar25);" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (buffer,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,pEVar25)" (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 "(buffer,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,pEVar25)" ( identifier , number_literal , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4" identifier + number_literal) , identifier ))) ;) (expression_statement "(*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);" (call_expression "(*(code *)PTR_WriteBlobString_003a95a8)(image,buffer)" (parenthesized_expression "(*(code *)PTR_WriteBlobString_003a95a8)" ( (pointer_expression "*(code *)PTR_WriteBlobString_003a95a8" * (cast_expression "(code *)PTR_WriteBlobString_003a95a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image,buffer)" ( identifier , identifier ))) ;) (expression_statement "pEVar16 = pEVar25;" (assignment_expression "pEVar16 = pEVar25" identifier = identifier) ;) })) (if_statement "if ((image->page).x != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      }" if (parenthesized_expression "((image->page).x != 0)" ( (binary_expression "(image->page).x != 0" (field_expression "(image->page).x" (parenthesized_expression "(image->page)" ( (field_expression "image->page" identifier -> field_identifier) )) . field_identifier) != number_literal) )) (compound_statement "{\n        (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      }" { (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x98c);" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x98c)" (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 "(buffer,0x1000,PTR_s_courses_003a88ec + 0x98c)" ( identifier , number_literal , (binary_expression "PTR_s_courses_003a88ec + 0x98c" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);" (call_expression "(*(code *)PTR_WriteBlobString_003a95a8)(image,buffer)" (parenthesized_expression "(*(code *)PTR_WriteBlobString_003a95a8)" ( (pointer_expression "*(code *)PTR_WriteBlobString_003a95a8" * (cast_expression "(code *)PTR_WriteBlobString_003a95a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image,buffer)" ( identifier , identifier ))) ;) })) (if_statement "if ((image->page).y != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      }" if (parenthesized_expression "((image->page).y != 0)" ( (binary_expression "(image->page).y != 0" (field_expression "(image->page).y" (parenthesized_expression "(image->page)" ( (field_expression "image->page" identifier -> field_identifier) )) . field_identifier) != number_literal) )) (compound_statement "{\n        (*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);\n      }" { (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x998);" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x998)" (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 "(buffer,0x1000,PTR_s_courses_003a88ec + 0x998)" ( identifier , number_literal , (binary_expression "PTR_s_courses_003a88ec + 0x998" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);" (call_expression "(*(code *)PTR_WriteBlobString_003a95a8)(image,buffer)" (parenthesized_expression "(*(code *)PTR_WriteBlobString_003a95a8)" ( (pointer_expression "*(code *)PTR_WriteBlobString_003a95a8" * (cast_expression "(code *)PTR_WriteBlobString_003a95a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image,buffer)" ( identifier , identifier ))) ;) })) (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x9a4);" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x9a4)" (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 "(buffer,0x1000,PTR_s_courses_003a88ec + 0x9a4)" ( identifier , number_literal , (binary_expression "PTR_s_courses_003a88ec + 0x9a4" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);" (call_expression "(*(code *)PTR_WriteBlobString_003a95a8)(image,buffer)" (parenthesized_expression "(*(code *)PTR_WriteBlobString_003a95a8)" ( (pointer_expression "*(code *)PTR_WriteBlobString_003a95a8" * (cast_expression "(code *)PTR_WriteBlobString_003a95a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image,buffer)" ( identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x9b4);" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,PTR_s_courses_003a88ec + 0x9b4)" (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 "(buffer,0x1000,PTR_s_courses_003a88ec + 0x9b4)" ( identifier , number_literal , (binary_expression "PTR_s_courses_003a88ec + 0x9b4" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_WriteBlobString_003a95a8)(image,buffer);" (call_expression "(*(code *)PTR_WriteBlobString_003a95a8)(image,buffer)" (parenthesized_expression "(*(code *)PTR_WriteBlobString_003a95a8)" ( (pointer_expression "*(code *)PTR_WriteBlobString_003a95a8" * (cast_expression "(code *)PTR_WriteBlobString_003a95a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image,buffer)" ( identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_WriteBlobString_003a95a8)(image,PTR_s_courses_003a88ec + -0x4bdc);" (call_expression "(*(code *)PTR_WriteBlobString_003a95a8)(image,PTR_s_courses_003a88ec + -0x4bdc)" (parenthesized_expression "(*(code *)PTR_WriteBlobString_003a95a8)" ( (pointer_expression "*(code *)PTR_WriteBlobString_003a95a8" * (cast_expression "(code *)PTR_WriteBlobString_003a95a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image,PTR_s_courses_003a88ec + -0x4bdc)" ( identifier , (binary_expression "PTR_s_courses_003a88ec + -0x4bdc" identifier + number_literal) ))) ;) })) (expression_statement "(*(code *)PTR_SetImageType_003a9188)(image,1,exception);" (call_expression "(*(code *)PTR_SetImageType_003a9188)(image,1,exception)" (parenthesized_expression "(*(code *)PTR_SetImageType_003a9188)" ( (pointer_expression "*(code *)PTR_SetImageType_003a9188" * (cast_expression "(code *)PTR_SetImageType_003a9188" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image,1,exception)" ( identifier , number_literal , identifier ))) ;) (if_statement "if (image->storage_class == PseudoClass) {\n      dVar27 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap);\n      uVar32 = 0;\n      if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar27) {\n        uVar32 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n      if (image->colors == 2) {\n        dVar27 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap);\n        dVar28 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap + 1);\n        if (dVar27 < dVar28) goto LAB_001fea70;\n        uVar32 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n    }\n    else {\nLAB_001fea70:\n      uVar32 = 0;\n    }" if (parenthesized_expression "(image->storage_class == PseudoClass)" ( (binary_expression "image->storage_class == PseudoClass" (field_expression "image->storage_class" identifier -> field_identifier) == identifier) )) (compound_statement "{\n      dVar27 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap);\n      uVar32 = 0;\n      if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar27) {\n        uVar32 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n      if (image->colors == 2) {\n        dVar27 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap);\n        dVar28 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap + 1);\n        if (dVar27 < dVar28) goto LAB_001fea70;\n        uVar32 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n    }" { (expression_statement "dVar27 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap);" (assignment_expression "dVar27 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap)" identifier = (cast_expression "(double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap)" (parenthesized_expression "(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)" ( (pointer_expression "*(code *)PTR_GetPixelInfoIntensity_003a8ea4" * (cast_expression "(code *)PTR_GetPixelInfoIntensity_003a8ea4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image,image->colormap)" ( identifier , (field_expression "image->colormap" identifier -> field_identifier) ))))) ;) (expression_statement "uVar32 = 0;" (assignment_expression "uVar32 = 0" identifier = number_literal) ;) (if_statement "if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar27) {\n        uVar32 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }" if (parenthesized_expression "(*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar27)" ( (binary_expression "*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar27" (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1ad0)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1ad0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1ad0)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1ad0" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n        uVar32 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }" { (expression_statement "uVar32 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);" (assignment_expression "uVar32 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" identifier = (binary_expression "(ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c" identifier + number_literal) ))))) ;) })) (if_statement "if (image->colors == 2) {\n        dVar27 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap);\n        dVar28 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap + 1);\n        if (dVar27 < dVar28) goto LAB_001fea70;\n        uVar32 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }" if (parenthesized_expression "(image->colors == 2)" ( (binary_expression "image->colors == 2" (field_expression "image->colors" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n        dVar27 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap);\n        dVar28 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap + 1);\n        if (dVar27 < dVar28) goto LAB_001fea70;\n        uVar32 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }" { (expression_statement "dVar27 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap);" (assignment_expression "dVar27 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap)" identifier = (cast_expression "(double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap)" (parenthesized_expression "(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)" ( (pointer_expression "*(code *)PTR_GetPixelInfoIntensity_003a8ea4" * (cast_expression "(code *)PTR_GetPixelInfoIntensity_003a8ea4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image,image->colormap)" ( identifier , (field_expression "image->colormap" identifier -> field_identifier) ))))) ;) (expression_statement "dVar28 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap + 1);" (assignment_expression "dVar28 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap + 1)" identifier = (cast_expression "(double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap + 1)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(image,image->colormap + 1)" (parenthesized_expression "(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)" ( (pointer_expression "*(code *)PTR_GetPixelInfoIntensity_003a8ea4" * (cast_expression "(code *)PTR_GetPixelInfoIntensity_003a8ea4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image,image->colormap + 1)" ( identifier , (binary_expression "image->colormap + 1" (field_expression "image->colormap" identifier -> field_identifier) + number_literal) ))))) ;) (if_statement "if (dVar27 < dVar28) goto LAB_001fea70;" if (parenthesized_expression "(dVar27 < dVar28)" ( (binary_expression "dVar27 < dVar28" identifier < identifier) )) (goto_statement "goto LAB_001fea70;" goto statement_identifier ;)) (expression_statement "uVar32 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);" (assignment_expression "uVar32 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" identifier = (binary_expression "(ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c" identifier + number_literal) ))))) ;) })) }) (else_clause "else {\nLAB_001fea70:\n      uVar32 = 0;\n    }" else (compound_statement "{\nLAB_001fea70:\n      uVar32 = 0;\n    }" { (labeled_statement "LAB_001fea70:\n      uVar32 = 0;" statement_identifier : (expression_statement "uVar32 = 0;" (assignment_expression "uVar32 = 0" identifier = number_literal) ;)) }))) (expression_statement "puVar6 = PTR_s_courses_003a88ec;" (assignment_expression "puVar6 = PTR_s_courses_003a88ec" identifier = identifier) ;) (expression_statement "puVar14 = (undefined1 *)image->rows;" (assignment_expression "puVar14 = (undefined1 *)image->rows" identifier = (cast_expression "(undefined1 *)image->rows" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "image->rows" identifier -> field_identifier))) ;) (if_statement "if (0 < (int)puVar14) {\n      pEVar25 = (ExceptionInfo *)0x0;\n      puVar11 = PTR_s_courses_003a88ec + -0x15c;\n      puVar24 = puVar23;\n      do {\n        if (puVar14 < puVar23) {\n          puVar24 = puVar14 + -(int)pEVar25;\n        }\n        pEVar16 = (ExceptionInfo *)image->columns;\n        iVar9 = (*(code *)PTR_GetVirtualPixels_003a9764)(image,0,pEVar25,pEVar16,puVar24,exception);\n        if (iVar9 == 0) break;\n        sVar12 = image->columns;\n        if (0 < (int)sVar12) {\n          uVar31 = 0;\n          iVar26 = 0;\n          bVar2 = puVar24 < (undefined1 *)0x2;\n          do {\n            iVar15 = iVar26 + 1;\n            pPVar17 = image->channel_map;\n            fVar30 = (float)uVar31;\n            fVar33 = (float)uVar32;\n            if (image->storage_class == PseudoClass) {\n              PVar19 = pPVar17[5].traits;\n              if (PVar19 == UndefinedPixelTrait) {\n                uVar21 = (uint)(fVar33 == fVar30);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar21 = (uint)(*(float *)(iVar9 + (iVar26 + pPVar17[5].offset) * 4) == fVar33);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = *(float *)(iVar9 + (iVar15 + pPVar17[5].offset) * 4);\nLAB_001feeb4:\n                  uVar20 = 8;\n                  if (fVar33 != fVar29) {\n                    uVar20 = 0;\n                  }\n                  uVar21 = uVar20 | uVar21;\n                }\n              }\n              if (!bVar2) {\n                fVar29 = 0.0;\n                if (PVar19 != UndefinedPixelTrait) {\n                  fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26) * 4);\n                }\n                uVar20 = (uint)(char)uVar21;\n                if (fVar33 == fVar29) {\n                  uVar20 = uVar20 | 2;\n                  uVar21 = uVar20;\n                }\n                if ((int)sVar12 <= iVar15) {\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 != UndefinedPixelTrait) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar29 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar29 = 0.0;\n                  if (PVar19 != UndefinedPixelTrait) {\n                    fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26 + 1) * 4);\n                  }\n                  if (fVar33 == fVar29) {\n                    uVar21 = uVar20 | 0x10;\n                  }\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 == UndefinedPixelTrait) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar29 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\nLAB_001fef68:\n                    uVar20 = (uint)(char)uVar21;\n                    if (fVar33 == fVar29) {\n                      uVar21 = uVar20 | 4;\n                      uVar20 = uVar21;\n                    }\n                    if ((int)sVar12 <= iVar15) goto LAB_001febe8;\n                    fVar30 = 0.0;\n                    if (PVar19 != UndefinedPixelTrait) {\n                      fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                    }\n                    if (fVar33 == fVar30) {\n                      uVar21 = uVar20 | 0x20;\n                    }\n                    if (puVar24 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar18 = sVar12 * 3 + iVar26;\n                      if (PVar19 == UndefinedPixelTrait) {\n                        fVar30 = 0.0;\n                      }\n                      else {\n                        fVar30 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\n                      }\n                      uVar20 = (uint)(char)uVar21;\n                      if (fVar33 == fVar30) {\n                        uVar21 = uVar20 | 0x40;\n                        uVar20 = uVar21;\n                      }\n                      if (iVar15 < (int)sVar12) {\n                        fVar30 = 0.0;\n                        if (PVar19 != UndefinedPixelTrait) {\n                          fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                        }\n                        if (fVar33 == fVar30) {\n                          uVar21 = uVar20 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              utf8[0] = 0xe2;\n              utf8[1] = (byte)(uVar21 >> 6) | 0xa0;\n              utf8[2] = (byte)uVar21 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(image,3,utf8);\n            }\n            else {\n              iVar18 = pPVar17[1].offset;\n              bVar4 = *(float *)(iVar9 + (iVar18 + iVar26) * 4) == fVar30;\n              uVar21 = (uint)bVar4;\n              bVar1 = iVar15 < (int)sVar12;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar20 = (uint)bVar4;\n                  if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar24 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar9 + (sVar12 * 2 + iVar26) * 4 + iVar18 * 4) == fVar30) {\n                      uVar21 = (int)(char)uVar21 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar20 = 8;\n              if (*(float *)(iVar9 + iVar15 * 4 + iVar18 * 4) != fVar30) {\n                uVar20 = 0;\n              }\n              uVar21 = uVar20 | uVar21;\n              if (bVar2) goto LAB_001fec34;\n              uVar20 = uVar21;\n              if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30) {\nLAB_001fed40:\n                uVar21 = uVar20 | 2;\n                uVar20 = uVar21;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar9 + (sVar12 + iVar26 + 1) * 4 + iVar18 * 4) == fVar30) {\n                uVar21 = uVar20 | 0x10;\n              }\n              if (puVar24 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 2 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if ((*(float *)(iVar13 + iVar18 * 4) == fVar30) &&\n                 (uVar21 = uVar20 | 4, uVar20 = uVar21, !bVar1)) {\nLAB_001febe8:\n                if (puVar24 != (undefined1 *)0x3) {\n                  if (image->storage_class == PseudoClass) {\n                    PVar19 = pPVar17[5].traits;\n                    goto LAB_001fefc0;\n                  }\n                  iVar18 = pPVar17[1].offset * 4;\n                  iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n                  uVar20 = (uint)(char)uVar21;\n                  if (*(float *)(iVar13 + iVar18) == fVar30) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar18 = iVar18 * 4;\n              if (*(float *)(iVar13 + iVar18 + 4) == fVar30) {\n                uVar21 = uVar20 | 0x20;\n              }\n              if (puVar24 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if (*(float *)(iVar13 + iVar18) == fVar30) {\nLAB_001fec28:\n                uVar20 = uVar20 | 0x40;\n                uVar21 = uVar20;\n                if ((int)sVar12 <= iVar15) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar13 + iVar18 + 4) != fVar30) goto LAB_001fec34;\n              uVar21 = uVar20 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image,puVar6[uVar21 + 0xa50]);\n              }\n            }\n            sVar12 = image->columns;\n            iVar26 = iVar26 + 2;\n          } while (iVar26 < (int)sVar12);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(image,10);\n        }\n        pEVar16 = pEVar25;\n        iVar9 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (image,puVar11,(int)pEVar25 >> 0x1f,pEVar25,0,image->rows);\n        if (iVar9 == 0) break;\n        puVar14 = (undefined1 *)image->rows;\n        pEVar25 = (ExceptionInfo *)(puVar24 + (int)&pEVar25->severity);\n        puVar23 = puVar24 + (int)&pEVar25->severity;\n      } while ((int)pEVar25 < (int)puVar14);\n    }" if (parenthesized_expression "(0 < (int)puVar14)" ( (binary_expression "0 < (int)puVar14" number_literal < (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      pEVar25 = (ExceptionInfo *)0x0;\n      puVar11 = PTR_s_courses_003a88ec + -0x15c;\n      puVar24 = puVar23;\n      do {\n        if (puVar14 < puVar23) {\n          puVar24 = puVar14 + -(int)pEVar25;\n        }\n        pEVar16 = (ExceptionInfo *)image->columns;\n        iVar9 = (*(code *)PTR_GetVirtualPixels_003a9764)(image,0,pEVar25,pEVar16,puVar24,exception);\n        if (iVar9 == 0) break;\n        sVar12 = image->columns;\n        if (0 < (int)sVar12) {\n          uVar31 = 0;\n          iVar26 = 0;\n          bVar2 = puVar24 < (undefined1 *)0x2;\n          do {\n            iVar15 = iVar26 + 1;\n            pPVar17 = image->channel_map;\n            fVar30 = (float)uVar31;\n            fVar33 = (float)uVar32;\n            if (image->storage_class == PseudoClass) {\n              PVar19 = pPVar17[5].traits;\n              if (PVar19 == UndefinedPixelTrait) {\n                uVar21 = (uint)(fVar33 == fVar30);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar21 = (uint)(*(float *)(iVar9 + (iVar26 + pPVar17[5].offset) * 4) == fVar33);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = *(float *)(iVar9 + (iVar15 + pPVar17[5].offset) * 4);\nLAB_001feeb4:\n                  uVar20 = 8;\n                  if (fVar33 != fVar29) {\n                    uVar20 = 0;\n                  }\n                  uVar21 = uVar20 | uVar21;\n                }\n              }\n              if (!bVar2) {\n                fVar29 = 0.0;\n                if (PVar19 != UndefinedPixelTrait) {\n                  fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26) * 4);\n                }\n                uVar20 = (uint)(char)uVar21;\n                if (fVar33 == fVar29) {\n                  uVar20 = uVar20 | 2;\n                  uVar21 = uVar20;\n                }\n                if ((int)sVar12 <= iVar15) {\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 != UndefinedPixelTrait) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar29 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar29 = 0.0;\n                  if (PVar19 != UndefinedPixelTrait) {\n                    fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26 + 1) * 4);\n                  }\n                  if (fVar33 == fVar29) {\n                    uVar21 = uVar20 | 0x10;\n                  }\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 == UndefinedPixelTrait) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar29 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\nLAB_001fef68:\n                    uVar20 = (uint)(char)uVar21;\n                    if (fVar33 == fVar29) {\n                      uVar21 = uVar20 | 4;\n                      uVar20 = uVar21;\n                    }\n                    if ((int)sVar12 <= iVar15) goto LAB_001febe8;\n                    fVar30 = 0.0;\n                    if (PVar19 != UndefinedPixelTrait) {\n                      fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                    }\n                    if (fVar33 == fVar30) {\n                      uVar21 = uVar20 | 0x20;\n                    }\n                    if (puVar24 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar18 = sVar12 * 3 + iVar26;\n                      if (PVar19 == UndefinedPixelTrait) {\n                        fVar30 = 0.0;\n                      }\n                      else {\n                        fVar30 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\n                      }\n                      uVar20 = (uint)(char)uVar21;\n                      if (fVar33 == fVar30) {\n                        uVar21 = uVar20 | 0x40;\n                        uVar20 = uVar21;\n                      }\n                      if (iVar15 < (int)sVar12) {\n                        fVar30 = 0.0;\n                        if (PVar19 != UndefinedPixelTrait) {\n                          fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                        }\n                        if (fVar33 == fVar30) {\n                          uVar21 = uVar20 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              utf8[0] = 0xe2;\n              utf8[1] = (byte)(uVar21 >> 6) | 0xa0;\n              utf8[2] = (byte)uVar21 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(image,3,utf8);\n            }\n            else {\n              iVar18 = pPVar17[1].offset;\n              bVar4 = *(float *)(iVar9 + (iVar18 + iVar26) * 4) == fVar30;\n              uVar21 = (uint)bVar4;\n              bVar1 = iVar15 < (int)sVar12;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar20 = (uint)bVar4;\n                  if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar24 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar9 + (sVar12 * 2 + iVar26) * 4 + iVar18 * 4) == fVar30) {\n                      uVar21 = (int)(char)uVar21 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar20 = 8;\n              if (*(float *)(iVar9 + iVar15 * 4 + iVar18 * 4) != fVar30) {\n                uVar20 = 0;\n              }\n              uVar21 = uVar20 | uVar21;\n              if (bVar2) goto LAB_001fec34;\n              uVar20 = uVar21;\n              if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30) {\nLAB_001fed40:\n                uVar21 = uVar20 | 2;\n                uVar20 = uVar21;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar9 + (sVar12 + iVar26 + 1) * 4 + iVar18 * 4) == fVar30) {\n                uVar21 = uVar20 | 0x10;\n              }\n              if (puVar24 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 2 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if ((*(float *)(iVar13 + iVar18 * 4) == fVar30) &&\n                 (uVar21 = uVar20 | 4, uVar20 = uVar21, !bVar1)) {\nLAB_001febe8:\n                if (puVar24 != (undefined1 *)0x3) {\n                  if (image->storage_class == PseudoClass) {\n                    PVar19 = pPVar17[5].traits;\n                    goto LAB_001fefc0;\n                  }\n                  iVar18 = pPVar17[1].offset * 4;\n                  iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n                  uVar20 = (uint)(char)uVar21;\n                  if (*(float *)(iVar13 + iVar18) == fVar30) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar18 = iVar18 * 4;\n              if (*(float *)(iVar13 + iVar18 + 4) == fVar30) {\n                uVar21 = uVar20 | 0x20;\n              }\n              if (puVar24 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if (*(float *)(iVar13 + iVar18) == fVar30) {\nLAB_001fec28:\n                uVar20 = uVar20 | 0x40;\n                uVar21 = uVar20;\n                if ((int)sVar12 <= iVar15) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar13 + iVar18 + 4) != fVar30) goto LAB_001fec34;\n              uVar21 = uVar20 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image,puVar6[uVar21 + 0xa50]);\n              }\n            }\n            sVar12 = image->columns;\n            iVar26 = iVar26 + 2;\n          } while (iVar26 < (int)sVar12);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(image,10);\n        }\n        pEVar16 = pEVar25;\n        iVar9 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (image,puVar11,(int)pEVar25 >> 0x1f,pEVar25,0,image->rows);\n        if (iVar9 == 0) break;\n        puVar14 = (undefined1 *)image->rows;\n        pEVar25 = (ExceptionInfo *)(puVar24 + (int)&pEVar25->severity);\n        puVar23 = puVar24 + (int)&pEVar25->severity;\n      } while ((int)pEVar25 < (int)puVar14);\n    }" { (expression_statement "pEVar25 = (ExceptionInfo *)0x0;" (assignment_expression "pEVar25 = (ExceptionInfo *)0x0" identifier = (cast_expression "(ExceptionInfo *)0x0" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar11 = PTR_s_courses_003a88ec + -0x15c;" (assignment_expression "puVar11 = PTR_s_courses_003a88ec + -0x15c" identifier = (binary_expression "PTR_s_courses_003a88ec + -0x15c" identifier + number_literal)) ;) (expression_statement "puVar24 = puVar23;" (assignment_expression "puVar24 = puVar23" identifier = identifier) ;) (do_statement "do {\n        if (puVar14 < puVar23) {\n          puVar24 = puVar14 + -(int)pEVar25;\n        }\n        pEVar16 = (ExceptionInfo *)image->columns;\n        iVar9 = (*(code *)PTR_GetVirtualPixels_003a9764)(image,0,pEVar25,pEVar16,puVar24,exception);\n        if (iVar9 == 0) break;\n        sVar12 = image->columns;\n        if (0 < (int)sVar12) {\n          uVar31 = 0;\n          iVar26 = 0;\n          bVar2 = puVar24 < (undefined1 *)0x2;\n          do {\n            iVar15 = iVar26 + 1;\n            pPVar17 = image->channel_map;\n            fVar30 = (float)uVar31;\n            fVar33 = (float)uVar32;\n            if (image->storage_class == PseudoClass) {\n              PVar19 = pPVar17[5].traits;\n              if (PVar19 == UndefinedPixelTrait) {\n                uVar21 = (uint)(fVar33 == fVar30);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar21 = (uint)(*(float *)(iVar9 + (iVar26 + pPVar17[5].offset) * 4) == fVar33);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = *(float *)(iVar9 + (iVar15 + pPVar17[5].offset) * 4);\nLAB_001feeb4:\n                  uVar20 = 8;\n                  if (fVar33 != fVar29) {\n                    uVar20 = 0;\n                  }\n                  uVar21 = uVar20 | uVar21;\n                }\n              }\n              if (!bVar2) {\n                fVar29 = 0.0;\n                if (PVar19 != UndefinedPixelTrait) {\n                  fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26) * 4);\n                }\n                uVar20 = (uint)(char)uVar21;\n                if (fVar33 == fVar29) {\n                  uVar20 = uVar20 | 2;\n                  uVar21 = uVar20;\n                }\n                if ((int)sVar12 <= iVar15) {\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 != UndefinedPixelTrait) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar29 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar29 = 0.0;\n                  if (PVar19 != UndefinedPixelTrait) {\n                    fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26 + 1) * 4);\n                  }\n                  if (fVar33 == fVar29) {\n                    uVar21 = uVar20 | 0x10;\n                  }\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 == UndefinedPixelTrait) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar29 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\nLAB_001fef68:\n                    uVar20 = (uint)(char)uVar21;\n                    if (fVar33 == fVar29) {\n                      uVar21 = uVar20 | 4;\n                      uVar20 = uVar21;\n                    }\n                    if ((int)sVar12 <= iVar15) goto LAB_001febe8;\n                    fVar30 = 0.0;\n                    if (PVar19 != UndefinedPixelTrait) {\n                      fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                    }\n                    if (fVar33 == fVar30) {\n                      uVar21 = uVar20 | 0x20;\n                    }\n                    if (puVar24 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar18 = sVar12 * 3 + iVar26;\n                      if (PVar19 == UndefinedPixelTrait) {\n                        fVar30 = 0.0;\n                      }\n                      else {\n                        fVar30 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\n                      }\n                      uVar20 = (uint)(char)uVar21;\n                      if (fVar33 == fVar30) {\n                        uVar21 = uVar20 | 0x40;\n                        uVar20 = uVar21;\n                      }\n                      if (iVar15 < (int)sVar12) {\n                        fVar30 = 0.0;\n                        if (PVar19 != UndefinedPixelTrait) {\n                          fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                        }\n                        if (fVar33 == fVar30) {\n                          uVar21 = uVar20 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              utf8[0] = 0xe2;\n              utf8[1] = (byte)(uVar21 >> 6) | 0xa0;\n              utf8[2] = (byte)uVar21 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(image,3,utf8);\n            }\n            else {\n              iVar18 = pPVar17[1].offset;\n              bVar4 = *(float *)(iVar9 + (iVar18 + iVar26) * 4) == fVar30;\n              uVar21 = (uint)bVar4;\n              bVar1 = iVar15 < (int)sVar12;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar20 = (uint)bVar4;\n                  if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar24 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar9 + (sVar12 * 2 + iVar26) * 4 + iVar18 * 4) == fVar30) {\n                      uVar21 = (int)(char)uVar21 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar20 = 8;\n              if (*(float *)(iVar9 + iVar15 * 4 + iVar18 * 4) != fVar30) {\n                uVar20 = 0;\n              }\n              uVar21 = uVar20 | uVar21;\n              if (bVar2) goto LAB_001fec34;\n              uVar20 = uVar21;\n              if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30) {\nLAB_001fed40:\n                uVar21 = uVar20 | 2;\n                uVar20 = uVar21;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar9 + (sVar12 + iVar26 + 1) * 4 + iVar18 * 4) == fVar30) {\n                uVar21 = uVar20 | 0x10;\n              }\n              if (puVar24 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 2 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if ((*(float *)(iVar13 + iVar18 * 4) == fVar30) &&\n                 (uVar21 = uVar20 | 4, uVar20 = uVar21, !bVar1)) {\nLAB_001febe8:\n                if (puVar24 != (undefined1 *)0x3) {\n                  if (image->storage_class == PseudoClass) {\n                    PVar19 = pPVar17[5].traits;\n                    goto LAB_001fefc0;\n                  }\n                  iVar18 = pPVar17[1].offset * 4;\n                  iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n                  uVar20 = (uint)(char)uVar21;\n                  if (*(float *)(iVar13 + iVar18) == fVar30) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar18 = iVar18 * 4;\n              if (*(float *)(iVar13 + iVar18 + 4) == fVar30) {\n                uVar21 = uVar20 | 0x20;\n              }\n              if (puVar24 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if (*(float *)(iVar13 + iVar18) == fVar30) {\nLAB_001fec28:\n                uVar20 = uVar20 | 0x40;\n                uVar21 = uVar20;\n                if ((int)sVar12 <= iVar15) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar13 + iVar18 + 4) != fVar30) goto LAB_001fec34;\n              uVar21 = uVar20 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image,puVar6[uVar21 + 0xa50]);\n              }\n            }\n            sVar12 = image->columns;\n            iVar26 = iVar26 + 2;\n          } while (iVar26 < (int)sVar12);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(image,10);\n        }\n        pEVar16 = pEVar25;\n        iVar9 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (image,puVar11,(int)pEVar25 >> 0x1f,pEVar25,0,image->rows);\n        if (iVar9 == 0) break;\n        puVar14 = (undefined1 *)image->rows;\n        pEVar25 = (ExceptionInfo *)(puVar24 + (int)&pEVar25->severity);\n        puVar23 = puVar24 + (int)&pEVar25->severity;\n      } while ((int)pEVar25 < (int)puVar14);" do (compound_statement "{\n        if (puVar14 < puVar23) {\n          puVar24 = puVar14 + -(int)pEVar25;\n        }\n        pEVar16 = (ExceptionInfo *)image->columns;\n        iVar9 = (*(code *)PTR_GetVirtualPixels_003a9764)(image,0,pEVar25,pEVar16,puVar24,exception);\n        if (iVar9 == 0) break;\n        sVar12 = image->columns;\n        if (0 < (int)sVar12) {\n          uVar31 = 0;\n          iVar26 = 0;\n          bVar2 = puVar24 < (undefined1 *)0x2;\n          do {\n            iVar15 = iVar26 + 1;\n            pPVar17 = image->channel_map;\n            fVar30 = (float)uVar31;\n            fVar33 = (float)uVar32;\n            if (image->storage_class == PseudoClass) {\n              PVar19 = pPVar17[5].traits;\n              if (PVar19 == UndefinedPixelTrait) {\n                uVar21 = (uint)(fVar33 == fVar30);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar21 = (uint)(*(float *)(iVar9 + (iVar26 + pPVar17[5].offset) * 4) == fVar33);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = *(float *)(iVar9 + (iVar15 + pPVar17[5].offset) * 4);\nLAB_001feeb4:\n                  uVar20 = 8;\n                  if (fVar33 != fVar29) {\n                    uVar20 = 0;\n                  }\n                  uVar21 = uVar20 | uVar21;\n                }\n              }\n              if (!bVar2) {\n                fVar29 = 0.0;\n                if (PVar19 != UndefinedPixelTrait) {\n                  fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26) * 4);\n                }\n                uVar20 = (uint)(char)uVar21;\n                if (fVar33 == fVar29) {\n                  uVar20 = uVar20 | 2;\n                  uVar21 = uVar20;\n                }\n                if ((int)sVar12 <= iVar15) {\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 != UndefinedPixelTrait) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar29 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar29 = 0.0;\n                  if (PVar19 != UndefinedPixelTrait) {\n                    fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26 + 1) * 4);\n                  }\n                  if (fVar33 == fVar29) {\n                    uVar21 = uVar20 | 0x10;\n                  }\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 == UndefinedPixelTrait) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar29 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\nLAB_001fef68:\n                    uVar20 = (uint)(char)uVar21;\n                    if (fVar33 == fVar29) {\n                      uVar21 = uVar20 | 4;\n                      uVar20 = uVar21;\n                    }\n                    if ((int)sVar12 <= iVar15) goto LAB_001febe8;\n                    fVar30 = 0.0;\n                    if (PVar19 != UndefinedPixelTrait) {\n                      fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                    }\n                    if (fVar33 == fVar30) {\n                      uVar21 = uVar20 | 0x20;\n                    }\n                    if (puVar24 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar18 = sVar12 * 3 + iVar26;\n                      if (PVar19 == UndefinedPixelTrait) {\n                        fVar30 = 0.0;\n                      }\n                      else {\n                        fVar30 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\n                      }\n                      uVar20 = (uint)(char)uVar21;\n                      if (fVar33 == fVar30) {\n                        uVar21 = uVar20 | 0x40;\n                        uVar20 = uVar21;\n                      }\n                      if (iVar15 < (int)sVar12) {\n                        fVar30 = 0.0;\n                        if (PVar19 != UndefinedPixelTrait) {\n                          fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                        }\n                        if (fVar33 == fVar30) {\n                          uVar21 = uVar20 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              utf8[0] = 0xe2;\n              utf8[1] = (byte)(uVar21 >> 6) | 0xa0;\n              utf8[2] = (byte)uVar21 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(image,3,utf8);\n            }\n            else {\n              iVar18 = pPVar17[1].offset;\n              bVar4 = *(float *)(iVar9 + (iVar18 + iVar26) * 4) == fVar30;\n              uVar21 = (uint)bVar4;\n              bVar1 = iVar15 < (int)sVar12;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar20 = (uint)bVar4;\n                  if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar24 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar9 + (sVar12 * 2 + iVar26) * 4 + iVar18 * 4) == fVar30) {\n                      uVar21 = (int)(char)uVar21 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar20 = 8;\n              if (*(float *)(iVar9 + iVar15 * 4 + iVar18 * 4) != fVar30) {\n                uVar20 = 0;\n              }\n              uVar21 = uVar20 | uVar21;\n              if (bVar2) goto LAB_001fec34;\n              uVar20 = uVar21;\n              if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30) {\nLAB_001fed40:\n                uVar21 = uVar20 | 2;\n                uVar20 = uVar21;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar9 + (sVar12 + iVar26 + 1) * 4 + iVar18 * 4) == fVar30) {\n                uVar21 = uVar20 | 0x10;\n              }\n              if (puVar24 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 2 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if ((*(float *)(iVar13 + iVar18 * 4) == fVar30) &&\n                 (uVar21 = uVar20 | 4, uVar20 = uVar21, !bVar1)) {\nLAB_001febe8:\n                if (puVar24 != (undefined1 *)0x3) {\n                  if (image->storage_class == PseudoClass) {\n                    PVar19 = pPVar17[5].traits;\n                    goto LAB_001fefc0;\n                  }\n                  iVar18 = pPVar17[1].offset * 4;\n                  iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n                  uVar20 = (uint)(char)uVar21;\n                  if (*(float *)(iVar13 + iVar18) == fVar30) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar18 = iVar18 * 4;\n              if (*(float *)(iVar13 + iVar18 + 4) == fVar30) {\n                uVar21 = uVar20 | 0x20;\n              }\n              if (puVar24 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if (*(float *)(iVar13 + iVar18) == fVar30) {\nLAB_001fec28:\n                uVar20 = uVar20 | 0x40;\n                uVar21 = uVar20;\n                if ((int)sVar12 <= iVar15) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar13 + iVar18 + 4) != fVar30) goto LAB_001fec34;\n              uVar21 = uVar20 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image,puVar6[uVar21 + 0xa50]);\n              }\n            }\n            sVar12 = image->columns;\n            iVar26 = iVar26 + 2;\n          } while (iVar26 < (int)sVar12);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(image,10);\n        }\n        pEVar16 = pEVar25;\n        iVar9 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (image,puVar11,(int)pEVar25 >> 0x1f,pEVar25,0,image->rows);\n        if (iVar9 == 0) break;\n        puVar14 = (undefined1 *)image->rows;\n        pEVar25 = (ExceptionInfo *)(puVar24 + (int)&pEVar25->severity);\n        puVar23 = puVar24 + (int)&pEVar25->severity;\n      }" { (if_statement "if (puVar14 < puVar23) {\n          puVar24 = puVar14 + -(int)pEVar25;\n        }" if (parenthesized_expression "(puVar14 < puVar23)" ( (binary_expression "puVar14 < puVar23" identifier < identifier) )) (compound_statement "{\n          puVar24 = puVar14 + -(int)pEVar25;\n        }" { (expression_statement "puVar24 = puVar14 + -(int)pEVar25;" (assignment_expression "puVar24 = puVar14 + -(int)pEVar25" identifier = (binary_expression "puVar14 + -(int)pEVar25" identifier + (unary_expression "-(int)pEVar25" - (cast_expression "(int)pEVar25" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) })) (expression_statement "pEVar16 = (ExceptionInfo *)image->columns;" (assignment_expression "pEVar16 = (ExceptionInfo *)image->columns" identifier = (cast_expression "(ExceptionInfo *)image->columns" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "image->columns" identifier -> field_identifier))) ;) (expression_statement "iVar9 = (*(code *)PTR_GetVirtualPixels_003a9764)(image,0,pEVar25,pEVar16,puVar24,exception);" (assignment_expression "iVar9 = (*(code *)PTR_GetVirtualPixels_003a9764)(image,0,pEVar25,pEVar16,puVar24,exception)" identifier = (call_expression "(*(code *)PTR_GetVirtualPixels_003a9764)(image,0,pEVar25,pEVar16,puVar24,exception)" (parenthesized_expression "(*(code *)PTR_GetVirtualPixels_003a9764)" ( (pointer_expression "*(code *)PTR_GetVirtualPixels_003a9764" * (cast_expression "(code *)PTR_GetVirtualPixels_003a9764" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image,0,pEVar25,pEVar16,puVar24,exception)" ( identifier , number_literal , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "sVar12 = image->columns;" (assignment_expression "sVar12 = image->columns" identifier = (field_expression "image->columns" identifier -> field_identifier)) ;) (if_statement "if (0 < (int)sVar12) {\n          uVar31 = 0;\n          iVar26 = 0;\n          bVar2 = puVar24 < (undefined1 *)0x2;\n          do {\n            iVar15 = iVar26 + 1;\n            pPVar17 = image->channel_map;\n            fVar30 = (float)uVar31;\n            fVar33 = (float)uVar32;\n            if (image->storage_class == PseudoClass) {\n              PVar19 = pPVar17[5].traits;\n              if (PVar19 == UndefinedPixelTrait) {\n                uVar21 = (uint)(fVar33 == fVar30);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar21 = (uint)(*(float *)(iVar9 + (iVar26 + pPVar17[5].offset) * 4) == fVar33);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = *(float *)(iVar9 + (iVar15 + pPVar17[5].offset) * 4);\nLAB_001feeb4:\n                  uVar20 = 8;\n                  if (fVar33 != fVar29) {\n                    uVar20 = 0;\n                  }\n                  uVar21 = uVar20 | uVar21;\n                }\n              }\n              if (!bVar2) {\n                fVar29 = 0.0;\n                if (PVar19 != UndefinedPixelTrait) {\n                  fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26) * 4);\n                }\n                uVar20 = (uint)(char)uVar21;\n                if (fVar33 == fVar29) {\n                  uVar20 = uVar20 | 2;\n                  uVar21 = uVar20;\n                }\n                if ((int)sVar12 <= iVar15) {\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 != UndefinedPixelTrait) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar29 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar29 = 0.0;\n                  if (PVar19 != UndefinedPixelTrait) {\n                    fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26 + 1) * 4);\n                  }\n                  if (fVar33 == fVar29) {\n                    uVar21 = uVar20 | 0x10;\n                  }\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 == UndefinedPixelTrait) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar29 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\nLAB_001fef68:\n                    uVar20 = (uint)(char)uVar21;\n                    if (fVar33 == fVar29) {\n                      uVar21 = uVar20 | 4;\n                      uVar20 = uVar21;\n                    }\n                    if ((int)sVar12 <= iVar15) goto LAB_001febe8;\n                    fVar30 = 0.0;\n                    if (PVar19 != UndefinedPixelTrait) {\n                      fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                    }\n                    if (fVar33 == fVar30) {\n                      uVar21 = uVar20 | 0x20;\n                    }\n                    if (puVar24 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar18 = sVar12 * 3 + iVar26;\n                      if (PVar19 == UndefinedPixelTrait) {\n                        fVar30 = 0.0;\n                      }\n                      else {\n                        fVar30 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\n                      }\n                      uVar20 = (uint)(char)uVar21;\n                      if (fVar33 == fVar30) {\n                        uVar21 = uVar20 | 0x40;\n                        uVar20 = uVar21;\n                      }\n                      if (iVar15 < (int)sVar12) {\n                        fVar30 = 0.0;\n                        if (PVar19 != UndefinedPixelTrait) {\n                          fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                        }\n                        if (fVar33 == fVar30) {\n                          uVar21 = uVar20 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              utf8[0] = 0xe2;\n              utf8[1] = (byte)(uVar21 >> 6) | 0xa0;\n              utf8[2] = (byte)uVar21 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(image,3,utf8);\n            }\n            else {\n              iVar18 = pPVar17[1].offset;\n              bVar4 = *(float *)(iVar9 + (iVar18 + iVar26) * 4) == fVar30;\n              uVar21 = (uint)bVar4;\n              bVar1 = iVar15 < (int)sVar12;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar20 = (uint)bVar4;\n                  if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar24 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar9 + (sVar12 * 2 + iVar26) * 4 + iVar18 * 4) == fVar30) {\n                      uVar21 = (int)(char)uVar21 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar20 = 8;\n              if (*(float *)(iVar9 + iVar15 * 4 + iVar18 * 4) != fVar30) {\n                uVar20 = 0;\n              }\n              uVar21 = uVar20 | uVar21;\n              if (bVar2) goto LAB_001fec34;\n              uVar20 = uVar21;\n              if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30) {\nLAB_001fed40:\n                uVar21 = uVar20 | 2;\n                uVar20 = uVar21;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar9 + (sVar12 + iVar26 + 1) * 4 + iVar18 * 4) == fVar30) {\n                uVar21 = uVar20 | 0x10;\n              }\n              if (puVar24 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 2 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if ((*(float *)(iVar13 + iVar18 * 4) == fVar30) &&\n                 (uVar21 = uVar20 | 4, uVar20 = uVar21, !bVar1)) {\nLAB_001febe8:\n                if (puVar24 != (undefined1 *)0x3) {\n                  if (image->storage_class == PseudoClass) {\n                    PVar19 = pPVar17[5].traits;\n                    goto LAB_001fefc0;\n                  }\n                  iVar18 = pPVar17[1].offset * 4;\n                  iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n                  uVar20 = (uint)(char)uVar21;\n                  if (*(float *)(iVar13 + iVar18) == fVar30) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar18 = iVar18 * 4;\n              if (*(float *)(iVar13 + iVar18 + 4) == fVar30) {\n                uVar21 = uVar20 | 0x20;\n              }\n              if (puVar24 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if (*(float *)(iVar13 + iVar18) == fVar30) {\nLAB_001fec28:\n                uVar20 = uVar20 | 0x40;\n                uVar21 = uVar20;\n                if ((int)sVar12 <= iVar15) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar13 + iVar18 + 4) != fVar30) goto LAB_001fec34;\n              uVar21 = uVar20 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image,puVar6[uVar21 + 0xa50]);\n              }\n            }\n            sVar12 = image->columns;\n            iVar26 = iVar26 + 2;\n          } while (iVar26 < (int)sVar12);\n        }" if (parenthesized_expression "(0 < (int)sVar12)" ( (binary_expression "0 < (int)sVar12" number_literal < (cast_expression "(int)sVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          uVar31 = 0;\n          iVar26 = 0;\n          bVar2 = puVar24 < (undefined1 *)0x2;\n          do {\n            iVar15 = iVar26 + 1;\n            pPVar17 = image->channel_map;\n            fVar30 = (float)uVar31;\n            fVar33 = (float)uVar32;\n            if (image->storage_class == PseudoClass) {\n              PVar19 = pPVar17[5].traits;\n              if (PVar19 == UndefinedPixelTrait) {\n                uVar21 = (uint)(fVar33 == fVar30);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar21 = (uint)(*(float *)(iVar9 + (iVar26 + pPVar17[5].offset) * 4) == fVar33);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = *(float *)(iVar9 + (iVar15 + pPVar17[5].offset) * 4);\nLAB_001feeb4:\n                  uVar20 = 8;\n                  if (fVar33 != fVar29) {\n                    uVar20 = 0;\n                  }\n                  uVar21 = uVar20 | uVar21;\n                }\n              }\n              if (!bVar2) {\n                fVar29 = 0.0;\n                if (PVar19 != UndefinedPixelTrait) {\n                  fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26) * 4);\n                }\n                uVar20 = (uint)(char)uVar21;\n                if (fVar33 == fVar29) {\n                  uVar20 = uVar20 | 2;\n                  uVar21 = uVar20;\n                }\n                if ((int)sVar12 <= iVar15) {\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 != UndefinedPixelTrait) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar29 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar29 = 0.0;\n                  if (PVar19 != UndefinedPixelTrait) {\n                    fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26 + 1) * 4);\n                  }\n                  if (fVar33 == fVar29) {\n                    uVar21 = uVar20 | 0x10;\n                  }\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 == UndefinedPixelTrait) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar29 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\nLAB_001fef68:\n                    uVar20 = (uint)(char)uVar21;\n                    if (fVar33 == fVar29) {\n                      uVar21 = uVar20 | 4;\n                      uVar20 = uVar21;\n                    }\n                    if ((int)sVar12 <= iVar15) goto LAB_001febe8;\n                    fVar30 = 0.0;\n                    if (PVar19 != UndefinedPixelTrait) {\n                      fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                    }\n                    if (fVar33 == fVar30) {\n                      uVar21 = uVar20 | 0x20;\n                    }\n                    if (puVar24 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar18 = sVar12 * 3 + iVar26;\n                      if (PVar19 == UndefinedPixelTrait) {\n                        fVar30 = 0.0;\n                      }\n                      else {\n                        fVar30 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\n                      }\n                      uVar20 = (uint)(char)uVar21;\n                      if (fVar33 == fVar30) {\n                        uVar21 = uVar20 | 0x40;\n                        uVar20 = uVar21;\n                      }\n                      if (iVar15 < (int)sVar12) {\n                        fVar30 = 0.0;\n                        if (PVar19 != UndefinedPixelTrait) {\n                          fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                        }\n                        if (fVar33 == fVar30) {\n                          uVar21 = uVar20 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              utf8[0] = 0xe2;\n              utf8[1] = (byte)(uVar21 >> 6) | 0xa0;\n              utf8[2] = (byte)uVar21 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(image,3,utf8);\n            }\n            else {\n              iVar18 = pPVar17[1].offset;\n              bVar4 = *(float *)(iVar9 + (iVar18 + iVar26) * 4) == fVar30;\n              uVar21 = (uint)bVar4;\n              bVar1 = iVar15 < (int)sVar12;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar20 = (uint)bVar4;\n                  if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar24 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar9 + (sVar12 * 2 + iVar26) * 4 + iVar18 * 4) == fVar30) {\n                      uVar21 = (int)(char)uVar21 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar20 = 8;\n              if (*(float *)(iVar9 + iVar15 * 4 + iVar18 * 4) != fVar30) {\n                uVar20 = 0;\n              }\n              uVar21 = uVar20 | uVar21;\n              if (bVar2) goto LAB_001fec34;\n              uVar20 = uVar21;\n              if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30) {\nLAB_001fed40:\n                uVar21 = uVar20 | 2;\n                uVar20 = uVar21;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar9 + (sVar12 + iVar26 + 1) * 4 + iVar18 * 4) == fVar30) {\n                uVar21 = uVar20 | 0x10;\n              }\n              if (puVar24 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 2 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if ((*(float *)(iVar13 + iVar18 * 4) == fVar30) &&\n                 (uVar21 = uVar20 | 4, uVar20 = uVar21, !bVar1)) {\nLAB_001febe8:\n                if (puVar24 != (undefined1 *)0x3) {\n                  if (image->storage_class == PseudoClass) {\n                    PVar19 = pPVar17[5].traits;\n                    goto LAB_001fefc0;\n                  }\n                  iVar18 = pPVar17[1].offset * 4;\n                  iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n                  uVar20 = (uint)(char)uVar21;\n                  if (*(float *)(iVar13 + iVar18) == fVar30) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar18 = iVar18 * 4;\n              if (*(float *)(iVar13 + iVar18 + 4) == fVar30) {\n                uVar21 = uVar20 | 0x20;\n              }\n              if (puVar24 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if (*(float *)(iVar13 + iVar18) == fVar30) {\nLAB_001fec28:\n                uVar20 = uVar20 | 0x40;\n                uVar21 = uVar20;\n                if ((int)sVar12 <= iVar15) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar13 + iVar18 + 4) != fVar30) goto LAB_001fec34;\n              uVar21 = uVar20 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image,puVar6[uVar21 + 0xa50]);\n              }\n            }\n            sVar12 = image->columns;\n            iVar26 = iVar26 + 2;\n          } while (iVar26 < (int)sVar12);\n        }" { (expression_statement "uVar31 = 0;" (assignment_expression "uVar31 = 0" identifier = number_literal) ;) (expression_statement "iVar26 = 0;" (assignment_expression "iVar26 = 0" identifier = number_literal) ;) (expression_statement "bVar2 = puVar24 < (undefined1 *)0x2;" (assignment_expression "bVar2 = puVar24 < (undefined1 *)0x2" identifier = (binary_expression "puVar24 < (undefined1 *)0x2" identifier < (cast_expression "(undefined1 *)0x2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (do_statement "do {\n            iVar15 = iVar26 + 1;\n            pPVar17 = image->channel_map;\n            fVar30 = (float)uVar31;\n            fVar33 = (float)uVar32;\n            if (image->storage_class == PseudoClass) {\n              PVar19 = pPVar17[5].traits;\n              if (PVar19 == UndefinedPixelTrait) {\n                uVar21 = (uint)(fVar33 == fVar30);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar21 = (uint)(*(float *)(iVar9 + (iVar26 + pPVar17[5].offset) * 4) == fVar33);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = *(float *)(iVar9 + (iVar15 + pPVar17[5].offset) * 4);\nLAB_001feeb4:\n                  uVar20 = 8;\n                  if (fVar33 != fVar29) {\n                    uVar20 = 0;\n                  }\n                  uVar21 = uVar20 | uVar21;\n                }\n              }\n              if (!bVar2) {\n                fVar29 = 0.0;\n                if (PVar19 != UndefinedPixelTrait) {\n                  fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26) * 4);\n                }\n                uVar20 = (uint)(char)uVar21;\n                if (fVar33 == fVar29) {\n                  uVar20 = uVar20 | 2;\n                  uVar21 = uVar20;\n                }\n                if ((int)sVar12 <= iVar15) {\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 != UndefinedPixelTrait) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar29 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar29 = 0.0;\n                  if (PVar19 != UndefinedPixelTrait) {\n                    fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26 + 1) * 4);\n                  }\n                  if (fVar33 == fVar29) {\n                    uVar21 = uVar20 | 0x10;\n                  }\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 == UndefinedPixelTrait) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar29 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\nLAB_001fef68:\n                    uVar20 = (uint)(char)uVar21;\n                    if (fVar33 == fVar29) {\n                      uVar21 = uVar20 | 4;\n                      uVar20 = uVar21;\n                    }\n                    if ((int)sVar12 <= iVar15) goto LAB_001febe8;\n                    fVar30 = 0.0;\n                    if (PVar19 != UndefinedPixelTrait) {\n                      fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                    }\n                    if (fVar33 == fVar30) {\n                      uVar21 = uVar20 | 0x20;\n                    }\n                    if (puVar24 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar18 = sVar12 * 3 + iVar26;\n                      if (PVar19 == UndefinedPixelTrait) {\n                        fVar30 = 0.0;\n                      }\n                      else {\n                        fVar30 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\n                      }\n                      uVar20 = (uint)(char)uVar21;\n                      if (fVar33 == fVar30) {\n                        uVar21 = uVar20 | 0x40;\n                        uVar20 = uVar21;\n                      }\n                      if (iVar15 < (int)sVar12) {\n                        fVar30 = 0.0;\n                        if (PVar19 != UndefinedPixelTrait) {\n                          fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                        }\n                        if (fVar33 == fVar30) {\n                          uVar21 = uVar20 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              utf8[0] = 0xe2;\n              utf8[1] = (byte)(uVar21 >> 6) | 0xa0;\n              utf8[2] = (byte)uVar21 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(image,3,utf8);\n            }\n            else {\n              iVar18 = pPVar17[1].offset;\n              bVar4 = *(float *)(iVar9 + (iVar18 + iVar26) * 4) == fVar30;\n              uVar21 = (uint)bVar4;\n              bVar1 = iVar15 < (int)sVar12;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar20 = (uint)bVar4;\n                  if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar24 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar9 + (sVar12 * 2 + iVar26) * 4 + iVar18 * 4) == fVar30) {\n                      uVar21 = (int)(char)uVar21 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar20 = 8;\n              if (*(float *)(iVar9 + iVar15 * 4 + iVar18 * 4) != fVar30) {\n                uVar20 = 0;\n              }\n              uVar21 = uVar20 | uVar21;\n              if (bVar2) goto LAB_001fec34;\n              uVar20 = uVar21;\n              if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30) {\nLAB_001fed40:\n                uVar21 = uVar20 | 2;\n                uVar20 = uVar21;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar9 + (sVar12 + iVar26 + 1) * 4 + iVar18 * 4) == fVar30) {\n                uVar21 = uVar20 | 0x10;\n              }\n              if (puVar24 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 2 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if ((*(float *)(iVar13 + iVar18 * 4) == fVar30) &&\n                 (uVar21 = uVar20 | 4, uVar20 = uVar21, !bVar1)) {\nLAB_001febe8:\n                if (puVar24 != (undefined1 *)0x3) {\n                  if (image->storage_class == PseudoClass) {\n                    PVar19 = pPVar17[5].traits;\n                    goto LAB_001fefc0;\n                  }\n                  iVar18 = pPVar17[1].offset * 4;\n                  iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n                  uVar20 = (uint)(char)uVar21;\n                  if (*(float *)(iVar13 + iVar18) == fVar30) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar18 = iVar18 * 4;\n              if (*(float *)(iVar13 + iVar18 + 4) == fVar30) {\n                uVar21 = uVar20 | 0x20;\n              }\n              if (puVar24 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if (*(float *)(iVar13 + iVar18) == fVar30) {\nLAB_001fec28:\n                uVar20 = uVar20 | 0x40;\n                uVar21 = uVar20;\n                if ((int)sVar12 <= iVar15) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar13 + iVar18 + 4) != fVar30) goto LAB_001fec34;\n              uVar21 = uVar20 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image,puVar6[uVar21 + 0xa50]);\n              }\n            }\n            sVar12 = image->columns;\n            iVar26 = iVar26 + 2;\n          } while (iVar26 < (int)sVar12);" do (compound_statement "{\n            iVar15 = iVar26 + 1;\n            pPVar17 = image->channel_map;\n            fVar30 = (float)uVar31;\n            fVar33 = (float)uVar32;\n            if (image->storage_class == PseudoClass) {\n              PVar19 = pPVar17[5].traits;\n              if (PVar19 == UndefinedPixelTrait) {\n                uVar21 = (uint)(fVar33 == fVar30);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar21 = (uint)(*(float *)(iVar9 + (iVar26 + pPVar17[5].offset) * 4) == fVar33);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = *(float *)(iVar9 + (iVar15 + pPVar17[5].offset) * 4);\nLAB_001feeb4:\n                  uVar20 = 8;\n                  if (fVar33 != fVar29) {\n                    uVar20 = 0;\n                  }\n                  uVar21 = uVar20 | uVar21;\n                }\n              }\n              if (!bVar2) {\n                fVar29 = 0.0;\n                if (PVar19 != UndefinedPixelTrait) {\n                  fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26) * 4);\n                }\n                uVar20 = (uint)(char)uVar21;\n                if (fVar33 == fVar29) {\n                  uVar20 = uVar20 | 2;\n                  uVar21 = uVar20;\n                }\n                if ((int)sVar12 <= iVar15) {\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 != UndefinedPixelTrait) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar29 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar29 = 0.0;\n                  if (PVar19 != UndefinedPixelTrait) {\n                    fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26 + 1) * 4);\n                  }\n                  if (fVar33 == fVar29) {\n                    uVar21 = uVar20 | 0x10;\n                  }\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 == UndefinedPixelTrait) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar29 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\nLAB_001fef68:\n                    uVar20 = (uint)(char)uVar21;\n                    if (fVar33 == fVar29) {\n                      uVar21 = uVar20 | 4;\n                      uVar20 = uVar21;\n                    }\n                    if ((int)sVar12 <= iVar15) goto LAB_001febe8;\n                    fVar30 = 0.0;\n                    if (PVar19 != UndefinedPixelTrait) {\n                      fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                    }\n                    if (fVar33 == fVar30) {\n                      uVar21 = uVar20 | 0x20;\n                    }\n                    if (puVar24 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar18 = sVar12 * 3 + iVar26;\n                      if (PVar19 == UndefinedPixelTrait) {\n                        fVar30 = 0.0;\n                      }\n                      else {\n                        fVar30 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\n                      }\n                      uVar20 = (uint)(char)uVar21;\n                      if (fVar33 == fVar30) {\n                        uVar21 = uVar20 | 0x40;\n                        uVar20 = uVar21;\n                      }\n                      if (iVar15 < (int)sVar12) {\n                        fVar30 = 0.0;\n                        if (PVar19 != UndefinedPixelTrait) {\n                          fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                        }\n                        if (fVar33 == fVar30) {\n                          uVar21 = uVar20 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              utf8[0] = 0xe2;\n              utf8[1] = (byte)(uVar21 >> 6) | 0xa0;\n              utf8[2] = (byte)uVar21 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(image,3,utf8);\n            }\n            else {\n              iVar18 = pPVar17[1].offset;\n              bVar4 = *(float *)(iVar9 + (iVar18 + iVar26) * 4) == fVar30;\n              uVar21 = (uint)bVar4;\n              bVar1 = iVar15 < (int)sVar12;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar20 = (uint)bVar4;\n                  if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar24 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar9 + (sVar12 * 2 + iVar26) * 4 + iVar18 * 4) == fVar30) {\n                      uVar21 = (int)(char)uVar21 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar20 = 8;\n              if (*(float *)(iVar9 + iVar15 * 4 + iVar18 * 4) != fVar30) {\n                uVar20 = 0;\n              }\n              uVar21 = uVar20 | uVar21;\n              if (bVar2) goto LAB_001fec34;\n              uVar20 = uVar21;\n              if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30) {\nLAB_001fed40:\n                uVar21 = uVar20 | 2;\n                uVar20 = uVar21;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar9 + (sVar12 + iVar26 + 1) * 4 + iVar18 * 4) == fVar30) {\n                uVar21 = uVar20 | 0x10;\n              }\n              if (puVar24 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 2 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if ((*(float *)(iVar13 + iVar18 * 4) == fVar30) &&\n                 (uVar21 = uVar20 | 4, uVar20 = uVar21, !bVar1)) {\nLAB_001febe8:\n                if (puVar24 != (undefined1 *)0x3) {\n                  if (image->storage_class == PseudoClass) {\n                    PVar19 = pPVar17[5].traits;\n                    goto LAB_001fefc0;\n                  }\n                  iVar18 = pPVar17[1].offset * 4;\n                  iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n                  uVar20 = (uint)(char)uVar21;\n                  if (*(float *)(iVar13 + iVar18) == fVar30) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar18 = iVar18 * 4;\n              if (*(float *)(iVar13 + iVar18 + 4) == fVar30) {\n                uVar21 = uVar20 | 0x20;\n              }\n              if (puVar24 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if (*(float *)(iVar13 + iVar18) == fVar30) {\nLAB_001fec28:\n                uVar20 = uVar20 | 0x40;\n                uVar21 = uVar20;\n                if ((int)sVar12 <= iVar15) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar13 + iVar18 + 4) != fVar30) goto LAB_001fec34;\n              uVar21 = uVar20 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image,puVar6[uVar21 + 0xa50]);\n              }\n            }\n            sVar12 = image->columns;\n            iVar26 = iVar26 + 2;\n          }" { (expression_statement "iVar15 = iVar26 + 1;" (assignment_expression "iVar15 = iVar26 + 1" identifier = (binary_expression "iVar26 + 1" identifier + number_literal)) ;) (expression_statement "pPVar17 = image->channel_map;" (assignment_expression "pPVar17 = image->channel_map" identifier = (field_expression "image->channel_map" identifier -> field_identifier)) ;) (expression_statement "fVar30 = (float)uVar31;" (assignment_expression "fVar30 = (float)uVar31" identifier = (cast_expression "(float)uVar31" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "fVar33 = (float)uVar32;" (assignment_expression "fVar33 = (float)uVar32" identifier = (cast_expression "(float)uVar32" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (if_statement "if (image->storage_class == PseudoClass) {\n              PVar19 = pPVar17[5].traits;\n              if (PVar19 == UndefinedPixelTrait) {\n                uVar21 = (uint)(fVar33 == fVar30);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar21 = (uint)(*(float *)(iVar9 + (iVar26 + pPVar17[5].offset) * 4) == fVar33);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = *(float *)(iVar9 + (iVar15 + pPVar17[5].offset) * 4);\nLAB_001feeb4:\n                  uVar20 = 8;\n                  if (fVar33 != fVar29) {\n                    uVar20 = 0;\n                  }\n                  uVar21 = uVar20 | uVar21;\n                }\n              }\n              if (!bVar2) {\n                fVar29 = 0.0;\n                if (PVar19 != UndefinedPixelTrait) {\n                  fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26) * 4);\n                }\n                uVar20 = (uint)(char)uVar21;\n                if (fVar33 == fVar29) {\n                  uVar20 = uVar20 | 2;\n                  uVar21 = uVar20;\n                }\n                if ((int)sVar12 <= iVar15) {\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 != UndefinedPixelTrait) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar29 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar29 = 0.0;\n                  if (PVar19 != UndefinedPixelTrait) {\n                    fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26 + 1) * 4);\n                  }\n                  if (fVar33 == fVar29) {\n                    uVar21 = uVar20 | 0x10;\n                  }\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 == UndefinedPixelTrait) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar29 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\nLAB_001fef68:\n                    uVar20 = (uint)(char)uVar21;\n                    if (fVar33 == fVar29) {\n                      uVar21 = uVar20 | 4;\n                      uVar20 = uVar21;\n                    }\n                    if ((int)sVar12 <= iVar15) goto LAB_001febe8;\n                    fVar30 = 0.0;\n                    if (PVar19 != UndefinedPixelTrait) {\n                      fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                    }\n                    if (fVar33 == fVar30) {\n                      uVar21 = uVar20 | 0x20;\n                    }\n                    if (puVar24 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar18 = sVar12 * 3 + iVar26;\n                      if (PVar19 == UndefinedPixelTrait) {\n                        fVar30 = 0.0;\n                      }\n                      else {\n                        fVar30 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\n                      }\n                      uVar20 = (uint)(char)uVar21;\n                      if (fVar33 == fVar30) {\n                        uVar21 = uVar20 | 0x40;\n                        uVar20 = uVar21;\n                      }\n                      if (iVar15 < (int)sVar12) {\n                        fVar30 = 0.0;\n                        if (PVar19 != UndefinedPixelTrait) {\n                          fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                        }\n                        if (fVar33 == fVar30) {\n                          uVar21 = uVar20 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              utf8[0] = 0xe2;\n              utf8[1] = (byte)(uVar21 >> 6) | 0xa0;\n              utf8[2] = (byte)uVar21 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(image,3,utf8);\n            }\n            else {\n              iVar18 = pPVar17[1].offset;\n              bVar4 = *(float *)(iVar9 + (iVar18 + iVar26) * 4) == fVar30;\n              uVar21 = (uint)bVar4;\n              bVar1 = iVar15 < (int)sVar12;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar20 = (uint)bVar4;\n                  if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar24 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar9 + (sVar12 * 2 + iVar26) * 4 + iVar18 * 4) == fVar30) {\n                      uVar21 = (int)(char)uVar21 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar20 = 8;\n              if (*(float *)(iVar9 + iVar15 * 4 + iVar18 * 4) != fVar30) {\n                uVar20 = 0;\n              }\n              uVar21 = uVar20 | uVar21;\n              if (bVar2) goto LAB_001fec34;\n              uVar20 = uVar21;\n              if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30) {\nLAB_001fed40:\n                uVar21 = uVar20 | 2;\n                uVar20 = uVar21;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar9 + (sVar12 + iVar26 + 1) * 4 + iVar18 * 4) == fVar30) {\n                uVar21 = uVar20 | 0x10;\n              }\n              if (puVar24 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 2 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if ((*(float *)(iVar13 + iVar18 * 4) == fVar30) &&\n                 (uVar21 = uVar20 | 4, uVar20 = uVar21, !bVar1)) {\nLAB_001febe8:\n                if (puVar24 != (undefined1 *)0x3) {\n                  if (image->storage_class == PseudoClass) {\n                    PVar19 = pPVar17[5].traits;\n                    goto LAB_001fefc0;\n                  }\n                  iVar18 = pPVar17[1].offset * 4;\n                  iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n                  uVar20 = (uint)(char)uVar21;\n                  if (*(float *)(iVar13 + iVar18) == fVar30) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar18 = iVar18 * 4;\n              if (*(float *)(iVar13 + iVar18 + 4) == fVar30) {\n                uVar21 = uVar20 | 0x20;\n              }\n              if (puVar24 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if (*(float *)(iVar13 + iVar18) == fVar30) {\nLAB_001fec28:\n                uVar20 = uVar20 | 0x40;\n                uVar21 = uVar20;\n                if ((int)sVar12 <= iVar15) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar13 + iVar18 + 4) != fVar30) goto LAB_001fec34;\n              uVar21 = uVar20 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image,puVar6[uVar21 + 0xa50]);\n              }\n            }" if (parenthesized_expression "(image->storage_class == PseudoClass)" ( (binary_expression "image->storage_class == PseudoClass" (field_expression "image->storage_class" identifier -> field_identifier) == identifier) )) (compound_statement "{\n              PVar19 = pPVar17[5].traits;\n              if (PVar19 == UndefinedPixelTrait) {\n                uVar21 = (uint)(fVar33 == fVar30);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar21 = (uint)(*(float *)(iVar9 + (iVar26 + pPVar17[5].offset) * 4) == fVar33);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = *(float *)(iVar9 + (iVar15 + pPVar17[5].offset) * 4);\nLAB_001feeb4:\n                  uVar20 = 8;\n                  if (fVar33 != fVar29) {\n                    uVar20 = 0;\n                  }\n                  uVar21 = uVar20 | uVar21;\n                }\n              }\n              if (!bVar2) {\n                fVar29 = 0.0;\n                if (PVar19 != UndefinedPixelTrait) {\n                  fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26) * 4);\n                }\n                uVar20 = (uint)(char)uVar21;\n                if (fVar33 == fVar29) {\n                  uVar20 = uVar20 | 2;\n                  uVar21 = uVar20;\n                }\n                if ((int)sVar12 <= iVar15) {\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 != UndefinedPixelTrait) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar29 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar29 = 0.0;\n                  if (PVar19 != UndefinedPixelTrait) {\n                    fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26 + 1) * 4);\n                  }\n                  if (fVar33 == fVar29) {\n                    uVar21 = uVar20 | 0x10;\n                  }\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 == UndefinedPixelTrait) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar29 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\nLAB_001fef68:\n                    uVar20 = (uint)(char)uVar21;\n                    if (fVar33 == fVar29) {\n                      uVar21 = uVar20 | 4;\n                      uVar20 = uVar21;\n                    }\n                    if ((int)sVar12 <= iVar15) goto LAB_001febe8;\n                    fVar30 = 0.0;\n                    if (PVar19 != UndefinedPixelTrait) {\n                      fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                    }\n                    if (fVar33 == fVar30) {\n                      uVar21 = uVar20 | 0x20;\n                    }\n                    if (puVar24 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar18 = sVar12 * 3 + iVar26;\n                      if (PVar19 == UndefinedPixelTrait) {\n                        fVar30 = 0.0;\n                      }\n                      else {\n                        fVar30 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\n                      }\n                      uVar20 = (uint)(char)uVar21;\n                      if (fVar33 == fVar30) {\n                        uVar21 = uVar20 | 0x40;\n                        uVar20 = uVar21;\n                      }\n                      if (iVar15 < (int)sVar12) {\n                        fVar30 = 0.0;\n                        if (PVar19 != UndefinedPixelTrait) {\n                          fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                        }\n                        if (fVar33 == fVar30) {\n                          uVar21 = uVar20 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              utf8[0] = 0xe2;\n              utf8[1] = (byte)(uVar21 >> 6) | 0xa0;\n              utf8[2] = (byte)uVar21 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(image,3,utf8);\n            }" { (expression_statement "PVar19 = pPVar17[5].traits;" (assignment_expression "PVar19 = pPVar17[5].traits" identifier = (field_expression "pPVar17[5].traits" (subscript_expression "pPVar17[5]" identifier [ number_literal ]) . field_identifier)) ;) (if_statement "if (PVar19 == UndefinedPixelTrait) {\n                uVar21 = (uint)(fVar33 == fVar30);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar21 = (uint)(*(float *)(iVar9 + (iVar26 + pPVar17[5].offset) * 4) == fVar33);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = *(float *)(iVar9 + (iVar15 + pPVar17[5].offset) * 4);\nLAB_001feeb4:\n                  uVar20 = 8;\n                  if (fVar33 != fVar29) {\n                    uVar20 = 0;\n                  }\n                  uVar21 = uVar20 | uVar21;\n                }\n              }" if (parenthesized_expression "(PVar19 == UndefinedPixelTrait)" ( (binary_expression "PVar19 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\n                uVar21 = (uint)(fVar33 == fVar30);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }" { (expression_statement "uVar21 = (uint)(fVar33 == fVar30);" (assignment_expression "uVar21 = (uint)(fVar33 == fVar30)" identifier = (call_expression "(uint)(fVar33 == fVar30)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(fVar33 == fVar30)" ( (binary_expression "fVar33 == fVar30" identifier == identifier) )))) ;) (if_statement "if (iVar15 < (int)sVar12) {\n                  fVar29 = 0.0;\n                  goto LAB_001feeb4;\n                }" if (parenthesized_expression "(iVar15 < (int)sVar12)" ( (binary_expression "iVar15 < (int)sVar12" identifier < (cast_expression "(int)sVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                  fVar29 = 0.0;\n                  goto LAB_001feeb4;\n                }" { (expression_statement "fVar29 = 0.0;" (assignment_expression "fVar29 = 0.0" identifier = number_literal) ;) (goto_statement "goto LAB_001feeb4;" goto statement_identifier ;) })) }) (else_clause "else {\n                uVar21 = (uint)(*(float *)(iVar9 + (iVar26 + pPVar17[5].offset) * 4) == fVar33);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = *(float *)(iVar9 + (iVar15 + pPVar17[5].offset) * 4);\nLAB_001feeb4:\n                  uVar20 = 8;\n                  if (fVar33 != fVar29) {\n                    uVar20 = 0;\n                  }\n                  uVar21 = uVar20 | uVar21;\n                }\n              }" else (compound_statement "{\n                uVar21 = (uint)(*(float *)(iVar9 + (iVar26 + pPVar17[5].offset) * 4) == fVar33);\n                if (iVar15 < (int)sVar12) {\n                  fVar29 = *(float *)(iVar9 + (iVar15 + pPVar17[5].offset) * 4);\nLAB_001feeb4:\n                  uVar20 = 8;\n                  if (fVar33 != fVar29) {\n                    uVar20 = 0;\n                  }\n                  uVar21 = uVar20 | uVar21;\n                }\n              }" { (expression_statement "uVar21 = (uint)(*(float *)(iVar9 + (iVar26 + pPVar17[5].offset) * 4) == fVar33);" (assignment_expression "uVar21 = (uint)(*(float *)(iVar9 + (iVar26 + pPVar17[5].offset) * 4) == fVar33)" identifier = (call_expression "(uint)(*(float *)(iVar9 + (iVar26 + pPVar17[5].offset) * 4) == fVar33)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(float *)(iVar9 + (iVar26 + pPVar17[5].offset) * 4) == fVar33)" ( (binary_expression "*(float *)(iVar9 + (iVar26 + pPVar17[5].offset) * 4) == fVar33" (pointer_expression "*(float *)(iVar9 + (iVar26 + pPVar17[5].offset) * 4)" * (cast_expression "(float *)(iVar9 + (iVar26 + pPVar17[5].offset) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + (iVar26 + pPVar17[5].offset) * 4)" ( (binary_expression "iVar9 + (iVar26 + pPVar17[5].offset) * 4" identifier + (binary_expression "(iVar26 + pPVar17[5].offset) * 4" (parenthesized_expression "(iVar26 + pPVar17[5].offset)" ( (binary_expression "iVar26 + pPVar17[5].offset" identifier + (field_expression "pPVar17[5].offset" (subscript_expression "pPVar17[5]" identifier [ number_literal ]) . field_identifier)) )) * number_literal)) )))) == identifier) )))) ;) (if_statement "if (iVar15 < (int)sVar12) {\n                  fVar29 = *(float *)(iVar9 + (iVar15 + pPVar17[5].offset) * 4);\nLAB_001feeb4:\n                  uVar20 = 8;\n                  if (fVar33 != fVar29) {\n                    uVar20 = 0;\n                  }\n                  uVar21 = uVar20 | uVar21;\n                }" if (parenthesized_expression "(iVar15 < (int)sVar12)" ( (binary_expression "iVar15 < (int)sVar12" identifier < (cast_expression "(int)sVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                  fVar29 = *(float *)(iVar9 + (iVar15 + pPVar17[5].offset) * 4);\nLAB_001feeb4:\n                  uVar20 = 8;\n                  if (fVar33 != fVar29) {\n                    uVar20 = 0;\n                  }\n                  uVar21 = uVar20 | uVar21;\n                }" { (expression_statement "fVar29 = *(float *)(iVar9 + (iVar15 + pPVar17[5].offset) * 4);" (assignment_expression "fVar29 = *(float *)(iVar9 + (iVar15 + pPVar17[5].offset) * 4)" identifier = (pointer_expression "*(float *)(iVar9 + (iVar15 + pPVar17[5].offset) * 4)" * (cast_expression "(float *)(iVar9 + (iVar15 + pPVar17[5].offset) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + (iVar15 + pPVar17[5].offset) * 4)" ( (binary_expression "iVar9 + (iVar15 + pPVar17[5].offset) * 4" identifier + (binary_expression "(iVar15 + pPVar17[5].offset) * 4" (parenthesized_expression "(iVar15 + pPVar17[5].offset)" ( (binary_expression "iVar15 + pPVar17[5].offset" identifier + (field_expression "pPVar17[5].offset" (subscript_expression "pPVar17[5]" identifier [ number_literal ]) . field_identifier)) )) * number_literal)) ))))) ;) (labeled_statement "LAB_001feeb4:\n                  uVar20 = 8;" statement_identifier : (expression_statement "uVar20 = 8;" (assignment_expression "uVar20 = 8" identifier = number_literal) ;)) (if_statement "if (fVar33 != fVar29) {\n                    uVar20 = 0;\n                  }" if (parenthesized_expression "(fVar33 != fVar29)" ( (binary_expression "fVar33 != fVar29" identifier != identifier) )) (compound_statement "{\n                    uVar20 = 0;\n                  }" { (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) })) (expression_statement "uVar21 = uVar20 | uVar21;" (assignment_expression "uVar21 = uVar20 | uVar21" identifier = (binary_expression "uVar20 | uVar21" identifier | identifier)) ;) })) }))) (if_statement "if (!bVar2) {\n                fVar29 = 0.0;\n                if (PVar19 != UndefinedPixelTrait) {\n                  fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26) * 4);\n                }\n                uVar20 = (uint)(char)uVar21;\n                if (fVar33 == fVar29) {\n                  uVar20 = uVar20 | 2;\n                  uVar21 = uVar20;\n                }\n                if ((int)sVar12 <= iVar15) {\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 != UndefinedPixelTrait) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar29 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar29 = 0.0;\n                  if (PVar19 != UndefinedPixelTrait) {\n                    fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26 + 1) * 4);\n                  }\n                  if (fVar33 == fVar29) {\n                    uVar21 = uVar20 | 0x10;\n                  }\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 == UndefinedPixelTrait) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar29 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\nLAB_001fef68:\n                    uVar20 = (uint)(char)uVar21;\n                    if (fVar33 == fVar29) {\n                      uVar21 = uVar20 | 4;\n                      uVar20 = uVar21;\n                    }\n                    if ((int)sVar12 <= iVar15) goto LAB_001febe8;\n                    fVar30 = 0.0;\n                    if (PVar19 != UndefinedPixelTrait) {\n                      fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                    }\n                    if (fVar33 == fVar30) {\n                      uVar21 = uVar20 | 0x20;\n                    }\n                    if (puVar24 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar18 = sVar12 * 3 + iVar26;\n                      if (PVar19 == UndefinedPixelTrait) {\n                        fVar30 = 0.0;\n                      }\n                      else {\n                        fVar30 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\n                      }\n                      uVar20 = (uint)(char)uVar21;\n                      if (fVar33 == fVar30) {\n                        uVar21 = uVar20 | 0x40;\n                        uVar20 = uVar21;\n                      }\n                      if (iVar15 < (int)sVar12) {\n                        fVar30 = 0.0;\n                        if (PVar19 != UndefinedPixelTrait) {\n                          fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                        }\n                        if (fVar33 == fVar30) {\n                          uVar21 = uVar20 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n                fVar29 = 0.0;\n                if (PVar19 != UndefinedPixelTrait) {\n                  fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26) * 4);\n                }\n                uVar20 = (uint)(char)uVar21;\n                if (fVar33 == fVar29) {\n                  uVar20 = uVar20 | 2;\n                  uVar21 = uVar20;\n                }\n                if ((int)sVar12 <= iVar15) {\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 != UndefinedPixelTrait) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar29 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar29 = 0.0;\n                  if (PVar19 != UndefinedPixelTrait) {\n                    fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26 + 1) * 4);\n                  }\n                  if (fVar33 == fVar29) {\n                    uVar21 = uVar20 | 0x10;\n                  }\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 == UndefinedPixelTrait) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar29 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\nLAB_001fef68:\n                    uVar20 = (uint)(char)uVar21;\n                    if (fVar33 == fVar29) {\n                      uVar21 = uVar20 | 4;\n                      uVar20 = uVar21;\n                    }\n                    if ((int)sVar12 <= iVar15) goto LAB_001febe8;\n                    fVar30 = 0.0;\n                    if (PVar19 != UndefinedPixelTrait) {\n                      fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                    }\n                    if (fVar33 == fVar30) {\n                      uVar21 = uVar20 | 0x20;\n                    }\n                    if (puVar24 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar18 = sVar12 * 3 + iVar26;\n                      if (PVar19 == UndefinedPixelTrait) {\n                        fVar30 = 0.0;\n                      }\n                      else {\n                        fVar30 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\n                      }\n                      uVar20 = (uint)(char)uVar21;\n                      if (fVar33 == fVar30) {\n                        uVar21 = uVar20 | 0x40;\n                        uVar20 = uVar21;\n                      }\n                      if (iVar15 < (int)sVar12) {\n                        fVar30 = 0.0;\n                        if (PVar19 != UndefinedPixelTrait) {\n                          fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                        }\n                        if (fVar33 == fVar30) {\n                          uVar21 = uVar20 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }" { (expression_statement "fVar29 = 0.0;" (assignment_expression "fVar29 = 0.0" identifier = number_literal) ;) (if_statement "if (PVar19 != UndefinedPixelTrait) {\n                  fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26) * 4);\n                }" if (parenthesized_expression "(PVar19 != UndefinedPixelTrait)" ( (binary_expression "PVar19 != UndefinedPixelTrait" identifier != identifier) )) (compound_statement "{\n                  fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26) * 4);\n                }" { (expression_statement "fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26) * 4);" (assignment_expression "fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26) * 4)" identifier = (pointer_expression "*(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26) * 4)" * (cast_expression "(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + (pPVar17[5].offset + sVar12 + iVar26) * 4)" ( (binary_expression "iVar9 + (pPVar17[5].offset + sVar12 + iVar26) * 4" identifier + (binary_expression "(pPVar17[5].offset + sVar12 + iVar26) * 4" (parenthesized_expression "(pPVar17[5].offset + sVar12 + iVar26)" ( (binary_expression "pPVar17[5].offset + sVar12 + iVar26" (binary_expression "pPVar17[5].offset + sVar12" (field_expression "pPVar17[5].offset" (subscript_expression "pPVar17[5]" identifier [ number_literal ]) . field_identifier) + identifier) + identifier) )) * number_literal)) ))))) ;) })) (expression_statement "uVar20 = (uint)(char)uVar21;" (assignment_expression "uVar20 = (uint)(char)uVar21" identifier = (cast_expression "(uint)(char)uVar21" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar21" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (if_statement "if (fVar33 == fVar29) {\n                  uVar20 = uVar20 | 2;\n                  uVar21 = uVar20;\n                }" if (parenthesized_expression "(fVar33 == fVar29)" ( (binary_expression "fVar33 == fVar29" identifier == identifier) )) (compound_statement "{\n                  uVar20 = uVar20 | 2;\n                  uVar21 = uVar20;\n                }" { (expression_statement "uVar20 = uVar20 | 2;" (assignment_expression "uVar20 = uVar20 | 2" identifier = (binary_expression "uVar20 | 2" identifier | number_literal)) ;) (expression_statement "uVar21 = uVar20;" (assignment_expression "uVar21 = uVar20" identifier = identifier) ;) })) (if_statement "if ((int)sVar12 <= iVar15) {\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 != UndefinedPixelTrait) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar29 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar29 = 0.0;\n                  if (PVar19 != UndefinedPixelTrait) {\n                    fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26 + 1) * 4);\n                  }\n                  if (fVar33 == fVar29) {\n                    uVar21 = uVar20 | 0x10;\n                  }\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 == UndefinedPixelTrait) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar29 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\nLAB_001fef68:\n                    uVar20 = (uint)(char)uVar21;\n                    if (fVar33 == fVar29) {\n                      uVar21 = uVar20 | 4;\n                      uVar20 = uVar21;\n                    }\n                    if ((int)sVar12 <= iVar15) goto LAB_001febe8;\n                    fVar30 = 0.0;\n                    if (PVar19 != UndefinedPixelTrait) {\n                      fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                    }\n                    if (fVar33 == fVar30) {\n                      uVar21 = uVar20 | 0x20;\n                    }\n                    if (puVar24 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar18 = sVar12 * 3 + iVar26;\n                      if (PVar19 == UndefinedPixelTrait) {\n                        fVar30 = 0.0;\n                      }\n                      else {\n                        fVar30 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\n                      }\n                      uVar20 = (uint)(char)uVar21;\n                      if (fVar33 == fVar30) {\n                        uVar21 = uVar20 | 0x40;\n                        uVar20 = uVar21;\n                      }\n                      if (iVar15 < (int)sVar12) {\n                        fVar30 = 0.0;\n                        if (PVar19 != UndefinedPixelTrait) {\n                          fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                        }\n                        if (fVar33 == fVar30) {\n                          uVar21 = uVar20 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }" if (parenthesized_expression "((int)sVar12 <= iVar15)" ( (binary_expression "(int)sVar12 <= iVar15" (cast_expression "(int)sVar12" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 != UndefinedPixelTrait) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar29 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }" { (if_statement "if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 != UndefinedPixelTrait) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar29 = 0.0;\n                    goto LAB_001fef68;\n                  }" if (parenthesized_expression "(puVar24 != (undefined1 *)0x2)" ( (binary_expression "puVar24 != (undefined1 *)0x2" identifier != (cast_expression "(undefined1 *)0x2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 != UndefinedPixelTrait) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar29 = 0.0;\n                    goto LAB_001fef68;\n                  }" { (expression_statement "iVar18 = sVar12 * 2 + iVar26;" (assignment_expression "iVar18 = sVar12 * 2 + iVar26" identifier = (binary_expression "sVar12 * 2 + iVar26" (binary_expression "sVar12 * 2" identifier * number_literal) + identifier)) ;) (if_statement "if (PVar19 != UndefinedPixelTrait) goto LAB_001fef54;" if (parenthesized_expression "(PVar19 != UndefinedPixelTrait)" ( (binary_expression "PVar19 != UndefinedPixelTrait" identifier != identifier) )) (goto_statement "goto LAB_001fef54;" goto statement_identifier ;)) (labeled_statement "LAB_001ff08c:\n                    fVar29 = 0.0;" statement_identifier : (expression_statement "fVar29 = 0.0;" (assignment_expression "fVar29 = 0.0" identifier = number_literal) ;)) (goto_statement "goto LAB_001fef68;" goto statement_identifier ;) })) }) (else_clause "else {\n                  fVar29 = 0.0;\n                  if (PVar19 != UndefinedPixelTrait) {\n                    fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26 + 1) * 4);\n                  }\n                  if (fVar33 == fVar29) {\n                    uVar21 = uVar20 | 0x10;\n                  }\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 == UndefinedPixelTrait) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar29 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\nLAB_001fef68:\n                    uVar20 = (uint)(char)uVar21;\n                    if (fVar33 == fVar29) {\n                      uVar21 = uVar20 | 4;\n                      uVar20 = uVar21;\n                    }\n                    if ((int)sVar12 <= iVar15) goto LAB_001febe8;\n                    fVar30 = 0.0;\n                    if (PVar19 != UndefinedPixelTrait) {\n                      fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                    }\n                    if (fVar33 == fVar30) {\n                      uVar21 = uVar20 | 0x20;\n                    }\n                    if (puVar24 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar18 = sVar12 * 3 + iVar26;\n                      if (PVar19 == UndefinedPixelTrait) {\n                        fVar30 = 0.0;\n                      }\n                      else {\n                        fVar30 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\n                      }\n                      uVar20 = (uint)(char)uVar21;\n                      if (fVar33 == fVar30) {\n                        uVar21 = uVar20 | 0x40;\n                        uVar20 = uVar21;\n                      }\n                      if (iVar15 < (int)sVar12) {\n                        fVar30 = 0.0;\n                        if (PVar19 != UndefinedPixelTrait) {\n                          fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                        }\n                        if (fVar33 == fVar30) {\n                          uVar21 = uVar20 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }" else (compound_statement "{\n                  fVar29 = 0.0;\n                  if (PVar19 != UndefinedPixelTrait) {\n                    fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26 + 1) * 4);\n                  }\n                  if (fVar33 == fVar29) {\n                    uVar21 = uVar20 | 0x10;\n                  }\n                  if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 == UndefinedPixelTrait) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar29 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\nLAB_001fef68:\n                    uVar20 = (uint)(char)uVar21;\n                    if (fVar33 == fVar29) {\n                      uVar21 = uVar20 | 4;\n                      uVar20 = uVar21;\n                    }\n                    if ((int)sVar12 <= iVar15) goto LAB_001febe8;\n                    fVar30 = 0.0;\n                    if (PVar19 != UndefinedPixelTrait) {\n                      fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                    }\n                    if (fVar33 == fVar30) {\n                      uVar21 = uVar20 | 0x20;\n                    }\n                    if (puVar24 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar18 = sVar12 * 3 + iVar26;\n                      if (PVar19 == UndefinedPixelTrait) {\n                        fVar30 = 0.0;\n                      }\n                      else {\n                        fVar30 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\n                      }\n                      uVar20 = (uint)(char)uVar21;\n                      if (fVar33 == fVar30) {\n                        uVar21 = uVar20 | 0x40;\n                        uVar20 = uVar21;\n                      }\n                      if (iVar15 < (int)sVar12) {\n                        fVar30 = 0.0;\n                        if (PVar19 != UndefinedPixelTrait) {\n                          fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                        }\n                        if (fVar33 == fVar30) {\n                          uVar21 = uVar20 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }" { (expression_statement "fVar29 = 0.0;" (assignment_expression "fVar29 = 0.0" identifier = number_literal) ;) (if_statement "if (PVar19 != UndefinedPixelTrait) {\n                    fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26 + 1) * 4);\n                  }" if (parenthesized_expression "(PVar19 != UndefinedPixelTrait)" ( (binary_expression "PVar19 != UndefinedPixelTrait" identifier != identifier) )) (compound_statement "{\n                    fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26 + 1) * 4);\n                  }" { (expression_statement "fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26 + 1) * 4);" (assignment_expression "fVar29 = *(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26 + 1) * 4)" identifier = (pointer_expression "*(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26 + 1) * 4)" * (cast_expression "(float *)(iVar9 + (pPVar17[5].offset + sVar12 + iVar26 + 1) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + (pPVar17[5].offset + sVar12 + iVar26 + 1) * 4)" ( (binary_expression "iVar9 + (pPVar17[5].offset + sVar12 + iVar26 + 1) * 4" identifier + (binary_expression "(pPVar17[5].offset + sVar12 + iVar26 + 1) * 4" (parenthesized_expression "(pPVar17[5].offset + sVar12 + iVar26 + 1)" ( (binary_expression "pPVar17[5].offset + sVar12 + iVar26 + 1" (binary_expression "pPVar17[5].offset + sVar12 + iVar26" (binary_expression "pPVar17[5].offset + sVar12" (field_expression "pPVar17[5].offset" (subscript_expression "pPVar17[5]" identifier [ number_literal ]) . field_identifier) + identifier) + identifier) + number_literal) )) * number_literal)) ))))) ;) })) (if_statement "if (fVar33 == fVar29) {\n                    uVar21 = uVar20 | 0x10;\n                  }" if (parenthesized_expression "(fVar33 == fVar29)" ( (binary_expression "fVar33 == fVar29" identifier == identifier) )) (compound_statement "{\n                    uVar21 = uVar20 | 0x10;\n                  }" { (expression_statement "uVar21 = uVar20 | 0x10;" (assignment_expression "uVar21 = uVar20 | 0x10" identifier = (binary_expression "uVar20 | 0x10" identifier | number_literal)) ;) })) (if_statement "if (puVar24 != (undefined1 *)0x2) {\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 == UndefinedPixelTrait) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar29 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\nLAB_001fef68:\n                    uVar20 = (uint)(char)uVar21;\n                    if (fVar33 == fVar29) {\n                      uVar21 = uVar20 | 4;\n                      uVar20 = uVar21;\n                    }\n                    if ((int)sVar12 <= iVar15) goto LAB_001febe8;\n                    fVar30 = 0.0;\n                    if (PVar19 != UndefinedPixelTrait) {\n                      fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                    }\n                    if (fVar33 == fVar30) {\n                      uVar21 = uVar20 | 0x20;\n                    }\n                    if (puVar24 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar18 = sVar12 * 3 + iVar26;\n                      if (PVar19 == UndefinedPixelTrait) {\n                        fVar30 = 0.0;\n                      }\n                      else {\n                        fVar30 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\n                      }\n                      uVar20 = (uint)(char)uVar21;\n                      if (fVar33 == fVar30) {\n                        uVar21 = uVar20 | 0x40;\n                        uVar20 = uVar21;\n                      }\n                      if (iVar15 < (int)sVar12) {\n                        fVar30 = 0.0;\n                        if (PVar19 != UndefinedPixelTrait) {\n                          fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                        }\n                        if (fVar33 == fVar30) {\n                          uVar21 = uVar20 | 0x80;\n                        }\n                      }\n                    }\n                  }" if (parenthesized_expression "(puVar24 != (undefined1 *)0x2)" ( (binary_expression "puVar24 != (undefined1 *)0x2" identifier != (cast_expression "(undefined1 *)0x2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    iVar18 = sVar12 * 2 + iVar26;\n                    if (PVar19 == UndefinedPixelTrait) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar29 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\nLAB_001fef68:\n                    uVar20 = (uint)(char)uVar21;\n                    if (fVar33 == fVar29) {\n                      uVar21 = uVar20 | 4;\n                      uVar20 = uVar21;\n                    }\n                    if ((int)sVar12 <= iVar15) goto LAB_001febe8;\n                    fVar30 = 0.0;\n                    if (PVar19 != UndefinedPixelTrait) {\n                      fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                    }\n                    if (fVar33 == fVar30) {\n                      uVar21 = uVar20 | 0x20;\n                    }\n                    if (puVar24 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar18 = sVar12 * 3 + iVar26;\n                      if (PVar19 == UndefinedPixelTrait) {\n                        fVar30 = 0.0;\n                      }\n                      else {\n                        fVar30 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\n                      }\n                      uVar20 = (uint)(char)uVar21;\n                      if (fVar33 == fVar30) {\n                        uVar21 = uVar20 | 0x40;\n                        uVar20 = uVar21;\n                      }\n                      if (iVar15 < (int)sVar12) {\n                        fVar30 = 0.0;\n                        if (PVar19 != UndefinedPixelTrait) {\n                          fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                        }\n                        if (fVar33 == fVar30) {\n                          uVar21 = uVar20 | 0x80;\n                        }\n                      }\n                    }\n                  }" { (expression_statement "iVar18 = sVar12 * 2 + iVar26;" (assignment_expression "iVar18 = sVar12 * 2 + iVar26" identifier = (binary_expression "sVar12 * 2 + iVar26" (binary_expression "sVar12 * 2" identifier * number_literal) + identifier)) ;) (if_statement "if (PVar19 == UndefinedPixelTrait) goto LAB_001ff08c;" if (parenthesized_expression "(PVar19 == UndefinedPixelTrait)" ( (binary_expression "PVar19 == UndefinedPixelTrait" identifier == identifier) )) (goto_statement "goto LAB_001ff08c;" goto statement_identifier ;)) (labeled_statement "LAB_001fef54:\n                    fVar29 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);" statement_identifier : (expression_statement "fVar29 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);" (assignment_expression "fVar29 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4)" identifier = (pointer_expression "*(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4)" * (cast_expression "(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + (iVar18 + pPVar17[5].offset) * 4)" ( (binary_expression "iVar9 + (iVar18 + pPVar17[5].offset) * 4" identifier + (binary_expression "(iVar18 + pPVar17[5].offset) * 4" (parenthesized_expression "(iVar18 + pPVar17[5].offset)" ( (binary_expression "iVar18 + pPVar17[5].offset" identifier + (field_expression "pPVar17[5].offset" (subscript_expression "pPVar17[5]" identifier [ number_literal ]) . field_identifier)) )) * number_literal)) ))))) ;)) (labeled_statement "LAB_001fef68:\n                    uVar20 = (uint)(char)uVar21;" statement_identifier : (expression_statement "uVar20 = (uint)(char)uVar21;" (assignment_expression "uVar20 = (uint)(char)uVar21" identifier = (cast_expression "(uint)(char)uVar21" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar21" ( (type_descriptor "char" primitive_type) ) identifier))) ;)) (if_statement "if (fVar33 == fVar29) {\n                      uVar21 = uVar20 | 4;\n                      uVar20 = uVar21;\n                    }" if (parenthesized_expression "(fVar33 == fVar29)" ( (binary_expression "fVar33 == fVar29" identifier == identifier) )) (compound_statement "{\n                      uVar21 = uVar20 | 4;\n                      uVar20 = uVar21;\n                    }" { (expression_statement "uVar21 = uVar20 | 4;" (assignment_expression "uVar21 = uVar20 | 4" identifier = (binary_expression "uVar20 | 4" identifier | number_literal)) ;) (expression_statement "uVar20 = uVar21;" (assignment_expression "uVar20 = uVar21" identifier = identifier) ;) })) (if_statement "if ((int)sVar12 <= iVar15) goto LAB_001febe8;" if (parenthesized_expression "((int)sVar12 <= iVar15)" ( (binary_expression "(int)sVar12 <= iVar15" (cast_expression "(int)sVar12" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (goto_statement "goto LAB_001febe8;" goto statement_identifier ;)) (expression_statement "fVar30 = 0.0;" (assignment_expression "fVar30 = 0.0" identifier = number_literal) ;) (if_statement "if (PVar19 != UndefinedPixelTrait) {\n                      fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                    }" if (parenthesized_expression "(PVar19 != UndefinedPixelTrait)" ( (binary_expression "PVar19 != UndefinedPixelTrait" identifier != identifier) )) (compound_statement "{\n                      fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                    }" { (expression_statement "fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);" (assignment_expression "fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4)" identifier = (pointer_expression "*(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4)" * (cast_expression "(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4)" ( (binary_expression "iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4" identifier + (binary_expression "(pPVar17[5].offset + iVar18 + 1) * 4" (parenthesized_expression "(pPVar17[5].offset + iVar18 + 1)" ( (binary_expression "pPVar17[5].offset + iVar18 + 1" (binary_expression "pPVar17[5].offset + iVar18" (field_expression "pPVar17[5].offset" (subscript_expression "pPVar17[5]" identifier [ number_literal ]) . field_identifier) + identifier) + number_literal) )) * number_literal)) ))))) ;) })) (if_statement "if (fVar33 == fVar30) {\n                      uVar21 = uVar20 | 0x20;\n                    }" if (parenthesized_expression "(fVar33 == fVar30)" ( (binary_expression "fVar33 == fVar30" identifier == identifier) )) (compound_statement "{\n                      uVar21 = uVar20 | 0x20;\n                    }" { (expression_statement "uVar21 = uVar20 | 0x20;" (assignment_expression "uVar21 = uVar20 | 0x20" identifier = (binary_expression "uVar20 | 0x20" identifier | number_literal)) ;) })) (if_statement "if (puVar24 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar18 = sVar12 * 3 + iVar26;\n                      if (PVar19 == UndefinedPixelTrait) {\n                        fVar30 = 0.0;\n                      }\n                      else {\n                        fVar30 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\n                      }\n                      uVar20 = (uint)(char)uVar21;\n                      if (fVar33 == fVar30) {\n                        uVar21 = uVar20 | 0x40;\n                        uVar20 = uVar21;\n                      }\n                      if (iVar15 < (int)sVar12) {\n                        fVar30 = 0.0;\n                        if (PVar19 != UndefinedPixelTrait) {\n                          fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                        }\n                        if (fVar33 == fVar30) {\n                          uVar21 = uVar20 | 0x80;\n                        }\n                      }\n                    }" if (parenthesized_expression "(puVar24 != (undefined1 *)0x3)" ( (binary_expression "puVar24 != (undefined1 *)0x3" identifier != (cast_expression "(undefined1 *)0x3" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001fefc0:\n                      iVar18 = sVar12 * 3 + iVar26;\n                      if (PVar19 == UndefinedPixelTrait) {\n                        fVar30 = 0.0;\n                      }\n                      else {\n                        fVar30 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\n                      }\n                      uVar20 = (uint)(char)uVar21;\n                      if (fVar33 == fVar30) {\n                        uVar21 = uVar20 | 0x40;\n                        uVar20 = uVar21;\n                      }\n                      if (iVar15 < (int)sVar12) {\n                        fVar30 = 0.0;\n                        if (PVar19 != UndefinedPixelTrait) {\n                          fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                        }\n                        if (fVar33 == fVar30) {\n                          uVar21 = uVar20 | 0x80;\n                        }\n                      }\n                    }" { (labeled_statement "LAB_001fefc0:\n                      iVar18 = sVar12 * 3 + iVar26;" statement_identifier : (expression_statement "iVar18 = sVar12 * 3 + iVar26;" (assignment_expression "iVar18 = sVar12 * 3 + iVar26" identifier = (binary_expression "sVar12 * 3 + iVar26" (binary_expression "sVar12 * 3" identifier * number_literal) + identifier)) ;)) (if_statement "if (PVar19 == UndefinedPixelTrait) {\n                        fVar30 = 0.0;\n                      }\n                      else {\n                        fVar30 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\n                      }" if (parenthesized_expression "(PVar19 == UndefinedPixelTrait)" ( (binary_expression "PVar19 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\n                        fVar30 = 0.0;\n                      }" { (expression_statement "fVar30 = 0.0;" (assignment_expression "fVar30 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n                        fVar30 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\n                      }" else (compound_statement "{\n                        fVar30 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);\n                      }" { (expression_statement "fVar30 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4);" (assignment_expression "fVar30 = *(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4)" identifier = (pointer_expression "*(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4)" * (cast_expression "(float *)(iVar9 + (iVar18 + pPVar17[5].offset) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + (iVar18 + pPVar17[5].offset) * 4)" ( (binary_expression "iVar9 + (iVar18 + pPVar17[5].offset) * 4" identifier + (binary_expression "(iVar18 + pPVar17[5].offset) * 4" (parenthesized_expression "(iVar18 + pPVar17[5].offset)" ( (binary_expression "iVar18 + pPVar17[5].offset" identifier + (field_expression "pPVar17[5].offset" (subscript_expression "pPVar17[5]" identifier [ number_literal ]) . field_identifier)) )) * number_literal)) ))))) ;) }))) (expression_statement "uVar20 = (uint)(char)uVar21;" (assignment_expression "uVar20 = (uint)(char)uVar21" identifier = (cast_expression "(uint)(char)uVar21" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar21" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (if_statement "if (fVar33 == fVar30) {\n                        uVar21 = uVar20 | 0x40;\n                        uVar20 = uVar21;\n                      }" if (parenthesized_expression "(fVar33 == fVar30)" ( (binary_expression "fVar33 == fVar30" identifier == identifier) )) (compound_statement "{\n                        uVar21 = uVar20 | 0x40;\n                        uVar20 = uVar21;\n                      }" { (expression_statement "uVar21 = uVar20 | 0x40;" (assignment_expression "uVar21 = uVar20 | 0x40" identifier = (binary_expression "uVar20 | 0x40" identifier | number_literal)) ;) (expression_statement "uVar20 = uVar21;" (assignment_expression "uVar20 = uVar21" identifier = identifier) ;) })) (if_statement "if (iVar15 < (int)sVar12) {\n                        fVar30 = 0.0;\n                        if (PVar19 != UndefinedPixelTrait) {\n                          fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                        }\n                        if (fVar33 == fVar30) {\n                          uVar21 = uVar20 | 0x80;\n                        }\n                      }" if (parenthesized_expression "(iVar15 < (int)sVar12)" ( (binary_expression "iVar15 < (int)sVar12" identifier < (cast_expression "(int)sVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                        fVar30 = 0.0;\n                        if (PVar19 != UndefinedPixelTrait) {\n                          fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                        }\n                        if (fVar33 == fVar30) {\n                          uVar21 = uVar20 | 0x80;\n                        }\n                      }" { (expression_statement "fVar30 = 0.0;" (assignment_expression "fVar30 = 0.0" identifier = number_literal) ;) (if_statement "if (PVar19 != UndefinedPixelTrait) {\n                          fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                        }" if (parenthesized_expression "(PVar19 != UndefinedPixelTrait)" ( (binary_expression "PVar19 != UndefinedPixelTrait" identifier != identifier) )) (compound_statement "{\n                          fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);\n                        }" { (expression_statement "fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4);" (assignment_expression "fVar30 = *(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4)" identifier = (pointer_expression "*(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4)" * (cast_expression "(float *)(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4)" ( (binary_expression "iVar9 + (pPVar17[5].offset + iVar18 + 1) * 4" identifier + (binary_expression "(pPVar17[5].offset + iVar18 + 1) * 4" (parenthesized_expression "(pPVar17[5].offset + iVar18 + 1)" ( (binary_expression "pPVar17[5].offset + iVar18 + 1" (binary_expression "pPVar17[5].offset + iVar18" (field_expression "pPVar17[5].offset" (subscript_expression "pPVar17[5]" identifier [ number_literal ]) . field_identifier) + identifier) + number_literal) )) * number_literal)) ))))) ;) })) (if_statement "if (fVar33 == fVar30) {\n                          uVar21 = uVar20 | 0x80;\n                        }" if (parenthesized_expression "(fVar33 == fVar30)" ( (binary_expression "fVar33 == fVar30" identifier == identifier) )) (compound_statement "{\n                          uVar21 = uVar20 | 0x80;\n                        }" { (expression_statement "uVar21 = uVar20 | 0x80;" (assignment_expression "uVar21 = uVar20 | 0x80" identifier = (binary_expression "uVar20 | 0x80" identifier | number_literal)) ;) })) })) })) })) }))) })) (labeled_statement "LAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;" statement_identifier : (if_statement "if (!bVar5) goto LAB_001fec3c;" if (parenthesized_expression "(!bVar5)" ( (unary_expression "!bVar5" ! identifier) )) (goto_statement "goto LAB_001fec3c;" goto statement_identifier ;))) (labeled_statement "LAB_001fedf4:\n              utf8[0] = 0xe2;" statement_identifier : (expression_statement "utf8[0] = 0xe2;" (assignment_expression "utf8[0] = 0xe2" (subscript_expression "utf8[0]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "utf8[1] = (byte)(uVar21 >> 6) | 0xa0;" (assignment_expression "utf8[1] = (byte)(uVar21 >> 6) | 0xa0" (subscript_expression "utf8[1]" identifier [ number_literal ]) = (binary_expression "(byte)(uVar21 >> 6) | 0xa0" (call_expression "(byte)(uVar21 >> 6)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar21 >> 6)" ( (binary_expression "uVar21 >> 6" identifier >> number_literal) ))) | number_literal)) ;) (expression_statement "utf8[2] = (byte)uVar21 & 0x3f | 0x80;" (assignment_expression "utf8[2] = (byte)uVar21 & 0x3f | 0x80" (subscript_expression "utf8[2]" identifier [ number_literal ]) = (binary_expression "(byte)uVar21 & 0x3f | 0x80" (binary_expression "(byte)uVar21 & 0x3f" (cast_expression "(byte)uVar21" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) | number_literal)) ;) (expression_statement "(*(code *)PTR_WriteBlob_003a9994)(image,3,utf8);" (call_expression "(*(code *)PTR_WriteBlob_003a9994)(image,3,utf8)" (parenthesized_expression "(*(code *)PTR_WriteBlob_003a9994)" ( (pointer_expression "*(code *)PTR_WriteBlob_003a9994" * (cast_expression "(code *)PTR_WriteBlob_003a9994" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image,3,utf8)" ( identifier , number_literal , identifier ))) ;) }) (else_clause "else {\n              iVar18 = pPVar17[1].offset;\n              bVar4 = *(float *)(iVar9 + (iVar18 + iVar26) * 4) == fVar30;\n              uVar21 = (uint)bVar4;\n              bVar1 = iVar15 < (int)sVar12;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar20 = (uint)bVar4;\n                  if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar24 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar9 + (sVar12 * 2 + iVar26) * 4 + iVar18 * 4) == fVar30) {\n                      uVar21 = (int)(char)uVar21 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar20 = 8;\n              if (*(float *)(iVar9 + iVar15 * 4 + iVar18 * 4) != fVar30) {\n                uVar20 = 0;\n              }\n              uVar21 = uVar20 | uVar21;\n              if (bVar2) goto LAB_001fec34;\n              uVar20 = uVar21;\n              if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30) {\nLAB_001fed40:\n                uVar21 = uVar20 | 2;\n                uVar20 = uVar21;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar9 + (sVar12 + iVar26 + 1) * 4 + iVar18 * 4) == fVar30) {\n                uVar21 = uVar20 | 0x10;\n              }\n              if (puVar24 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 2 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if ((*(float *)(iVar13 + iVar18 * 4) == fVar30) &&\n                 (uVar21 = uVar20 | 4, uVar20 = uVar21, !bVar1)) {\nLAB_001febe8:\n                if (puVar24 != (undefined1 *)0x3) {\n                  if (image->storage_class == PseudoClass) {\n                    PVar19 = pPVar17[5].traits;\n                    goto LAB_001fefc0;\n                  }\n                  iVar18 = pPVar17[1].offset * 4;\n                  iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n                  uVar20 = (uint)(char)uVar21;\n                  if (*(float *)(iVar13 + iVar18) == fVar30) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar18 = iVar18 * 4;\n              if (*(float *)(iVar13 + iVar18 + 4) == fVar30) {\n                uVar21 = uVar20 | 0x20;\n              }\n              if (puVar24 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if (*(float *)(iVar13 + iVar18) == fVar30) {\nLAB_001fec28:\n                uVar20 = uVar20 | 0x40;\n                uVar21 = uVar20;\n                if ((int)sVar12 <= iVar15) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar13 + iVar18 + 4) != fVar30) goto LAB_001fec34;\n              uVar21 = uVar20 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image,puVar6[uVar21 + 0xa50]);\n              }\n            }" else (compound_statement "{\n              iVar18 = pPVar17[1].offset;\n              bVar4 = *(float *)(iVar9 + (iVar18 + iVar26) * 4) == fVar30;\n              uVar21 = (uint)bVar4;\n              bVar1 = iVar15 < (int)sVar12;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar20 = (uint)bVar4;\n                  if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar24 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar9 + (sVar12 * 2 + iVar26) * 4 + iVar18 * 4) == fVar30) {\n                      uVar21 = (int)(char)uVar21 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar20 = 8;\n              if (*(float *)(iVar9 + iVar15 * 4 + iVar18 * 4) != fVar30) {\n                uVar20 = 0;\n              }\n              uVar21 = uVar20 | uVar21;\n              if (bVar2) goto LAB_001fec34;\n              uVar20 = uVar21;\n              if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30) {\nLAB_001fed40:\n                uVar21 = uVar20 | 2;\n                uVar20 = uVar21;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar9 + (sVar12 + iVar26 + 1) * 4 + iVar18 * 4) == fVar30) {\n                uVar21 = uVar20 | 0x10;\n              }\n              if (puVar24 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 2 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if ((*(float *)(iVar13 + iVar18 * 4) == fVar30) &&\n                 (uVar21 = uVar20 | 4, uVar20 = uVar21, !bVar1)) {\nLAB_001febe8:\n                if (puVar24 != (undefined1 *)0x3) {\n                  if (image->storage_class == PseudoClass) {\n                    PVar19 = pPVar17[5].traits;\n                    goto LAB_001fefc0;\n                  }\n                  iVar18 = pPVar17[1].offset * 4;\n                  iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n                  uVar20 = (uint)(char)uVar21;\n                  if (*(float *)(iVar13 + iVar18) == fVar30) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar18 = iVar18 * 4;\n              if (*(float *)(iVar13 + iVar18 + 4) == fVar30) {\n                uVar21 = uVar20 | 0x20;\n              }\n              if (puVar24 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n              uVar20 = (uint)(char)uVar21;\n              if (*(float *)(iVar13 + iVar18) == fVar30) {\nLAB_001fec28:\n                uVar20 = uVar20 | 0x40;\n                uVar21 = uVar20;\n                if ((int)sVar12 <= iVar15) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar13 + iVar18 + 4) != fVar30) goto LAB_001fec34;\n              uVar21 = uVar20 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image,puVar6[uVar21 + 0xa50]);\n              }\n            }" { (expression_statement "iVar18 = pPVar17[1].offset;" (assignment_expression "iVar18 = pPVar17[1].offset" identifier = (field_expression "pPVar17[1].offset" (subscript_expression "pPVar17[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "bVar4 = *(float *)(iVar9 + (iVar18 + iVar26) * 4) == fVar30;" (assignment_expression "bVar4 = *(float *)(iVar9 + (iVar18 + iVar26) * 4) == fVar30" identifier = (binary_expression "*(float *)(iVar9 + (iVar18 + iVar26) * 4) == fVar30" (pointer_expression "*(float *)(iVar9 + (iVar18 + iVar26) * 4)" * (cast_expression "(float *)(iVar9 + (iVar18 + iVar26) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + (iVar18 + iVar26) * 4)" ( (binary_expression "iVar9 + (iVar18 + iVar26) * 4" identifier + (binary_expression "(iVar18 + iVar26) * 4" (parenthesized_expression "(iVar18 + iVar26)" ( (binary_expression "iVar18 + iVar26" identifier + identifier) )) * number_literal)) )))) == identifier)) ;) (expression_statement "uVar21 = (uint)bVar4;" (assignment_expression "uVar21 = (uint)bVar4" identifier = (cast_expression "(uint)bVar4" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "bVar1 = iVar15 < (int)sVar12;" (assignment_expression "bVar1 = iVar15 < (int)sVar12" identifier = (binary_expression "iVar15 < (int)sVar12" identifier < (cast_expression "(int)sVar12" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (!bVar1) {\n                if (!bVar2) {\n                  uVar20 = (uint)bVar4;\n                  if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar24 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar9 + (sVar12 * 2 + iVar26) * 4 + iVar18 * 4) == fVar30) {\n                      uVar21 = (int)(char)uVar21 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }" if (parenthesized_expression "(!bVar1)" ( (unary_expression "!bVar1" ! identifier) )) (compound_statement "{\n                if (!bVar2) {\n                  uVar20 = (uint)bVar4;\n                  if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar24 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar9 + (sVar12 * 2 + iVar26) * 4 + iVar18 * 4) == fVar30) {\n                      uVar21 = (int)(char)uVar21 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }" { (if_statement "if (!bVar2) {\n                  uVar20 = (uint)bVar4;\n                  if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar24 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar9 + (sVar12 * 2 + iVar26) * 4 + iVar18 * 4) == fVar30) {\n                      uVar21 = (int)(char)uVar21 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n                  uVar20 = (uint)bVar4;\n                  if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar24 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar9 + (sVar12 * 2 + iVar26) * 4 + iVar18 * 4) == fVar30) {\n                      uVar21 = (int)(char)uVar21 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }" { (expression_statement "uVar20 = (uint)bVar4;" (assignment_expression "uVar20 = (uint)bVar4" identifier = (cast_expression "(uint)bVar4" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30)\n                  goto LAB_001fed40;" if (parenthesized_expression "(*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30)" ( (binary_expression "*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30" (pointer_expression "*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4)" * (cast_expression "(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4)" ( (binary_expression "iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4" (binary_expression "iVar9 + (sVar12 + iVar26) * 4" identifier + (binary_expression "(sVar12 + iVar26) * 4" (parenthesized_expression "(sVar12 + iVar26)" ( (binary_expression "sVar12 + iVar26" identifier + identifier) )) * number_literal)) + (binary_expression "iVar18 * 4" identifier * number_literal)) )))) == identifier) )) (goto_statement "goto LAB_001fed40;" goto statement_identifier ;)) (labeled_statement "LAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;" statement_identifier : (if_statement "if (bVar1) goto LAB_001feb88;" if (parenthesized_expression "(bVar1)" ( identifier )) (goto_statement "goto LAB_001feb88;" goto statement_identifier ;))) (if_statement "if (puVar24 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar9 + (sVar12 * 2 + iVar26) * 4 + iVar18 * 4) == fVar30) {\n                      uVar21 = (int)(char)uVar21 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }" if (parenthesized_expression "(puVar24 != (undefined1 *)0x2)" ( (binary_expression "puVar24 != (undefined1 *)0x2" identifier != (cast_expression "(undefined1 *)0x2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    if (*(float *)(iVar9 + (sVar12 * 2 + iVar26) * 4 + iVar18 * 4) == fVar30) {\n                      uVar21 = (int)(char)uVar21 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }" { (if_statement "if (*(float *)(iVar9 + (sVar12 * 2 + iVar26) * 4 + iVar18 * 4) == fVar30) {\n                      uVar21 = (int)(char)uVar21 | 4;\n                    }" if (parenthesized_expression "(*(float *)(iVar9 + (sVar12 * 2 + iVar26) * 4 + iVar18 * 4) == fVar30)" ( (binary_expression "*(float *)(iVar9 + (sVar12 * 2 + iVar26) * 4 + iVar18 * 4) == fVar30" (pointer_expression "*(float *)(iVar9 + (sVar12 * 2 + iVar26) * 4 + iVar18 * 4)" * (cast_expression "(float *)(iVar9 + (sVar12 * 2 + iVar26) * 4 + iVar18 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + (sVar12 * 2 + iVar26) * 4 + iVar18 * 4)" ( (binary_expression "iVar9 + (sVar12 * 2 + iVar26) * 4 + iVar18 * 4" (binary_expression "iVar9 + (sVar12 * 2 + iVar26) * 4" identifier + (binary_expression "(sVar12 * 2 + iVar26) * 4" (parenthesized_expression "(sVar12 * 2 + iVar26)" ( (binary_expression "sVar12 * 2 + iVar26" (binary_expression "sVar12 * 2" identifier * number_literal) + identifier) )) * number_literal)) + (binary_expression "iVar18 * 4" identifier * number_literal)) )))) == identifier) )) (compound_statement "{\n                      uVar21 = (int)(char)uVar21 | 4;\n                    }" { (expression_statement "uVar21 = (int)(char)uVar21 | 4;" (assignment_expression "uVar21 = (int)(char)uVar21 | 4" identifier = (binary_expression "(int)(char)uVar21 | 4" (cast_expression "(int)(char)uVar21" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)uVar21" ( (type_descriptor "char" primitive_type) ) identifier)) | number_literal)) ;) })) (goto_statement "goto LAB_001febe8;" goto statement_identifier ;) })) })) (goto_statement "goto LAB_001fec34;" goto statement_identifier ;) })) (expression_statement "uVar20 = 8;" (assignment_expression "uVar20 = 8" identifier = number_literal) ;) (if_statement "if (*(float *)(iVar9 + iVar15 * 4 + iVar18 * 4) != fVar30) {\n                uVar20 = 0;\n              }" if (parenthesized_expression "(*(float *)(iVar9 + iVar15 * 4 + iVar18 * 4) != fVar30)" ( (binary_expression "*(float *)(iVar9 + iVar15 * 4 + iVar18 * 4) != fVar30" (pointer_expression "*(float *)(iVar9 + iVar15 * 4 + iVar18 * 4)" * (cast_expression "(float *)(iVar9 + iVar15 * 4 + iVar18 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + iVar15 * 4 + iVar18 * 4)" ( (binary_expression "iVar9 + iVar15 * 4 + iVar18 * 4" (binary_expression "iVar9 + iVar15 * 4" identifier + (binary_expression "iVar15 * 4" identifier * number_literal)) + (binary_expression "iVar18 * 4" identifier * number_literal)) )))) != identifier) )) (compound_statement "{\n                uVar20 = 0;\n              }" { (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) })) (expression_statement "uVar21 = uVar20 | uVar21;" (assignment_expression "uVar21 = uVar20 | uVar21" identifier = (binary_expression "uVar20 | uVar21" identifier | identifier)) ;) (if_statement "if (bVar2) goto LAB_001fec34;" if (parenthesized_expression "(bVar2)" ( identifier )) (goto_statement "goto LAB_001fec34;" goto statement_identifier ;)) (expression_statement "uVar20 = uVar21;" (assignment_expression "uVar20 = uVar21" identifier = identifier) ;) (if_statement "if (*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30) {\nLAB_001fed40:\n                uVar21 = uVar20 | 2;\n                uVar20 = uVar21;\n                goto LAB_001fed48;\n              }" if (parenthesized_expression "(*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30)" ( (binary_expression "*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4) == fVar30" (pointer_expression "*(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4)" * (cast_expression "(float *)(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4)" ( (binary_expression "iVar9 + (sVar12 + iVar26) * 4 + iVar18 * 4" (binary_expression "iVar9 + (sVar12 + iVar26) * 4" identifier + (binary_expression "(sVar12 + iVar26) * 4" (parenthesized_expression "(sVar12 + iVar26)" ( (binary_expression "sVar12 + iVar26" identifier + identifier) )) * number_literal)) + (binary_expression "iVar18 * 4" identifier * number_literal)) )))) == identifier) )) (compound_statement "{\nLAB_001fed40:\n                uVar21 = uVar20 | 2;\n                uVar20 = uVar21;\n                goto LAB_001fed48;\n              }" { (labeled_statement "LAB_001fed40:\n                uVar21 = uVar20 | 2;" statement_identifier : (expression_statement "uVar21 = uVar20 | 2;" (assignment_expression "uVar21 = uVar20 | 2" identifier = (binary_expression "uVar20 | 2" identifier | number_literal)) ;)) (expression_statement "uVar20 = uVar21;" (assignment_expression "uVar20 = uVar21" identifier = identifier) ;) (goto_statement "goto LAB_001fed48;" goto statement_identifier ;) })) (labeled_statement "LAB_001feb88:\n              if (*(float *)(iVar9 + (sVar12 + iVar26 + 1) * 4 + iVar18 * 4) == fVar30) {\n                uVar21 = uVar20 | 0x10;\n              }" statement_identifier : (if_statement "if (*(float *)(iVar9 + (sVar12 + iVar26 + 1) * 4 + iVar18 * 4) == fVar30) {\n                uVar21 = uVar20 | 0x10;\n              }" if (parenthesized_expression "(*(float *)(iVar9 + (sVar12 + iVar26 + 1) * 4 + iVar18 * 4) == fVar30)" ( (binary_expression "*(float *)(iVar9 + (sVar12 + iVar26 + 1) * 4 + iVar18 * 4) == fVar30" (pointer_expression "*(float *)(iVar9 + (sVar12 + iVar26 + 1) * 4 + iVar18 * 4)" * (cast_expression "(float *)(iVar9 + (sVar12 + iVar26 + 1) * 4 + iVar18 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + (sVar12 + iVar26 + 1) * 4 + iVar18 * 4)" ( (binary_expression "iVar9 + (sVar12 + iVar26 + 1) * 4 + iVar18 * 4" (binary_expression "iVar9 + (sVar12 + iVar26 + 1) * 4" identifier + (binary_expression "(sVar12 + iVar26 + 1) * 4" (parenthesized_expression "(sVar12 + iVar26 + 1)" ( (binary_expression "sVar12 + iVar26 + 1" (binary_expression "sVar12 + iVar26" identifier + identifier) + number_literal) )) * number_literal)) + (binary_expression "iVar18 * 4" identifier * number_literal)) )))) == identifier) )) (compound_statement "{\n                uVar21 = uVar20 | 0x10;\n              }" { (expression_statement "uVar21 = uVar20 | 0x10;" (assignment_expression "uVar21 = uVar20 | 0x10" identifier = (binary_expression "uVar20 | 0x10" identifier | number_literal)) ;) }))) (if_statement "if (puVar24 == (undefined1 *)0x2) goto LAB_001fec34;" if (parenthesized_expression "(puVar24 == (undefined1 *)0x2)" ( (binary_expression "puVar24 == (undefined1 *)0x2" identifier == (cast_expression "(undefined1 *)0x2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001fec34;" goto statement_identifier ;)) (expression_statement "iVar13 = iVar9 + (sVar12 * 2 + iVar26) * 4;" (assignment_expression "iVar13 = iVar9 + (sVar12 * 2 + iVar26) * 4" identifier = (binary_expression "iVar9 + (sVar12 * 2 + iVar26) * 4" identifier + (binary_expression "(sVar12 * 2 + iVar26) * 4" (parenthesized_expression "(sVar12 * 2 + iVar26)" ( (binary_expression "sVar12 * 2 + iVar26" (binary_expression "sVar12 * 2" identifier * number_literal) + identifier) )) * number_literal))) ;) (expression_statement "uVar20 = (uint)(char)uVar21;" (assignment_expression "uVar20 = (uint)(char)uVar21" identifier = (cast_expression "(uint)(char)uVar21" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar21" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (if_statement "if ((*(float *)(iVar13 + iVar18 * 4) == fVar30) &&\n                 (uVar21 = uVar20 | 4, uVar20 = uVar21, !bVar1)) {\nLAB_001febe8:\n                if (puVar24 != (undefined1 *)0x3) {\n                  if (image->storage_class == PseudoClass) {\n                    PVar19 = pPVar17[5].traits;\n                    goto LAB_001fefc0;\n                  }\n                  iVar18 = pPVar17[1].offset * 4;\n                  iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n                  uVar20 = (uint)(char)uVar21;\n                  if (*(float *)(iVar13 + iVar18) == fVar30) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }" if (parenthesized_expression "((*(float *)(iVar13 + iVar18 * 4) == fVar30) &&\n                 (uVar21 = uVar20 | 4, uVar20 = uVar21, !bVar1))" ( (binary_expression "(*(float *)(iVar13 + iVar18 * 4) == fVar30) &&\n                 (uVar21 = uVar20 | 4, uVar20 = uVar21, !bVar1)" (parenthesized_expression "(*(float *)(iVar13 + iVar18 * 4) == fVar30)" ( (binary_expression "*(float *)(iVar13 + iVar18 * 4) == fVar30" (pointer_expression "*(float *)(iVar13 + iVar18 * 4)" * (cast_expression "(float *)(iVar13 + iVar18 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + iVar18 * 4)" ( (binary_expression "iVar13 + iVar18 * 4" identifier + (binary_expression "iVar18 * 4" identifier * number_literal)) )))) == identifier) )) && (parenthesized_expression "(uVar21 = uVar20 | 4, uVar20 = uVar21, !bVar1)" ( (comma_expression "uVar21 = uVar20 | 4, uVar20 = uVar21, !bVar1" (assignment_expression "uVar21 = uVar20 | 4" identifier = (binary_expression "uVar20 | 4" identifier | number_literal)) , (comma_expression "uVar20 = uVar21, !bVar1" (assignment_expression "uVar20 = uVar21" identifier = identifier) , (unary_expression "!bVar1" ! identifier))) ))) )) (compound_statement "{\nLAB_001febe8:\n                if (puVar24 != (undefined1 *)0x3) {\n                  if (image->storage_class == PseudoClass) {\n                    PVar19 = pPVar17[5].traits;\n                    goto LAB_001fefc0;\n                  }\n                  iVar18 = pPVar17[1].offset * 4;\n                  iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n                  uVar20 = (uint)(char)uVar21;\n                  if (*(float *)(iVar13 + iVar18) == fVar30) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }" { (labeled_statement "LAB_001febe8:\n                if (puVar24 != (undefined1 *)0x3) {\n                  if (image->storage_class == PseudoClass) {\n                    PVar19 = pPVar17[5].traits;\n                    goto LAB_001fefc0;\n                  }\n                  iVar18 = pPVar17[1].offset * 4;\n                  iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n                  uVar20 = (uint)(char)uVar21;\n                  if (*(float *)(iVar13 + iVar18) == fVar30) goto LAB_001fec28;\n                }" statement_identifier : (if_statement "if (puVar24 != (undefined1 *)0x3) {\n                  if (image->storage_class == PseudoClass) {\n                    PVar19 = pPVar17[5].traits;\n                    goto LAB_001fefc0;\n                  }\n                  iVar18 = pPVar17[1].offset * 4;\n                  iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n                  uVar20 = (uint)(char)uVar21;\n                  if (*(float *)(iVar13 + iVar18) == fVar30) goto LAB_001fec28;\n                }" if (parenthesized_expression "(puVar24 != (undefined1 *)0x3)" ( (binary_expression "puVar24 != (undefined1 *)0x3" identifier != (cast_expression "(undefined1 *)0x3" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  if (image->storage_class == PseudoClass) {\n                    PVar19 = pPVar17[5].traits;\n                    goto LAB_001fefc0;\n                  }\n                  iVar18 = pPVar17[1].offset * 4;\n                  iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;\n                  uVar20 = (uint)(char)uVar21;\n                  if (*(float *)(iVar13 + iVar18) == fVar30) goto LAB_001fec28;\n                }" { (if_statement "if (image->storage_class == PseudoClass) {\n                    PVar19 = pPVar17[5].traits;\n                    goto LAB_001fefc0;\n                  }" if (parenthesized_expression "(image->storage_class == PseudoClass)" ( (binary_expression "image->storage_class == PseudoClass" (field_expression "image->storage_class" identifier -> field_identifier) == identifier) )) (compound_statement "{\n                    PVar19 = pPVar17[5].traits;\n                    goto LAB_001fefc0;\n                  }" { (expression_statement "PVar19 = pPVar17[5].traits;" (assignment_expression "PVar19 = pPVar17[5].traits" identifier = (field_expression "pPVar17[5].traits" (subscript_expression "pPVar17[5]" identifier [ number_literal ]) . field_identifier)) ;) (goto_statement "goto LAB_001fefc0;" goto statement_identifier ;) })) (expression_statement "iVar18 = pPVar17[1].offset * 4;" (assignment_expression "iVar18 = pPVar17[1].offset * 4" identifier = (binary_expression "pPVar17[1].offset * 4" (field_expression "pPVar17[1].offset" (subscript_expression "pPVar17[1]" identifier [ number_literal ]) . field_identifier) * number_literal)) ;) (expression_statement "iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;" (assignment_expression "iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4" identifier = (binary_expression "iVar9 + (sVar12 * 3 + iVar26) * 4" identifier + (binary_expression "(sVar12 * 3 + iVar26) * 4" (parenthesized_expression "(sVar12 * 3 + iVar26)" ( (binary_expression "sVar12 * 3 + iVar26" (binary_expression "sVar12 * 3" identifier * number_literal) + identifier) )) * number_literal))) ;) (expression_statement "uVar20 = (uint)(char)uVar21;" (assignment_expression "uVar20 = (uint)(char)uVar21" identifier = (cast_expression "(uint)(char)uVar21" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar21" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (if_statement "if (*(float *)(iVar13 + iVar18) == fVar30) goto LAB_001fec28;" if (parenthesized_expression "(*(float *)(iVar13 + iVar18) == fVar30)" ( (binary_expression "*(float *)(iVar13 + iVar18) == fVar30" (pointer_expression "*(float *)(iVar13 + iVar18)" * (cast_expression "(float *)(iVar13 + iVar18)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + iVar18)" ( (binary_expression "iVar13 + iVar18" identifier + identifier) )))) == identifier) )) (goto_statement "goto LAB_001fec28;" goto statement_identifier ;)) }))) (goto_statement "goto LAB_001fec34;" goto statement_identifier ;) })) (expression_statement "iVar18 = iVar18 * 4;" (assignment_expression "iVar18 = iVar18 * 4" identifier = (binary_expression "iVar18 * 4" identifier * number_literal)) ;) (if_statement "if (*(float *)(iVar13 + iVar18 + 4) == fVar30) {\n                uVar21 = uVar20 | 0x20;\n              }" if (parenthesized_expression "(*(float *)(iVar13 + iVar18 + 4) == fVar30)" ( (binary_expression "*(float *)(iVar13 + iVar18 + 4) == fVar30" (pointer_expression "*(float *)(iVar13 + iVar18 + 4)" * (cast_expression "(float *)(iVar13 + iVar18 + 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + iVar18 + 4)" ( (binary_expression "iVar13 + iVar18 + 4" (binary_expression "iVar13 + iVar18" identifier + identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n                uVar21 = uVar20 | 0x20;\n              }" { (expression_statement "uVar21 = uVar20 | 0x20;" (assignment_expression "uVar21 = uVar20 | 0x20" identifier = (binary_expression "uVar20 | 0x20" identifier | number_literal)) ;) })) (if_statement "if (puVar24 == (undefined1 *)0x3) goto LAB_001fec34;" if (parenthesized_expression "(puVar24 == (undefined1 *)0x3)" ( (binary_expression "puVar24 == (undefined1 *)0x3" identifier == (cast_expression "(undefined1 *)0x3" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001fec34;" goto statement_identifier ;)) (expression_statement "iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4;" (assignment_expression "iVar13 = iVar9 + (sVar12 * 3 + iVar26) * 4" identifier = (binary_expression "iVar9 + (sVar12 * 3 + iVar26) * 4" identifier + (binary_expression "(sVar12 * 3 + iVar26) * 4" (parenthesized_expression "(sVar12 * 3 + iVar26)" ( (binary_expression "sVar12 * 3 + iVar26" (binary_expression "sVar12 * 3" identifier * number_literal) + identifier) )) * number_literal))) ;) (expression_statement "uVar20 = (uint)(char)uVar21;" (assignment_expression "uVar20 = (uint)(char)uVar21" identifier = (cast_expression "(uint)(char)uVar21" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar21" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (if_statement "if (*(float *)(iVar13 + iVar18) == fVar30) {\nLAB_001fec28:\n                uVar20 = uVar20 | 0x40;\n                uVar21 = uVar20;\n                if ((int)sVar12 <= iVar15) goto LAB_001fec34;\n              }" if (parenthesized_expression "(*(float *)(iVar13 + iVar18) == fVar30)" ( (binary_expression "*(float *)(iVar13 + iVar18) == fVar30" (pointer_expression "*(float *)(iVar13 + iVar18)" * (cast_expression "(float *)(iVar13 + iVar18)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + iVar18)" ( (binary_expression "iVar13 + iVar18" identifier + identifier) )))) == identifier) )) (compound_statement "{\nLAB_001fec28:\n                uVar20 = uVar20 | 0x40;\n                uVar21 = uVar20;\n                if ((int)sVar12 <= iVar15) goto LAB_001fec34;\n              }" { (labeled_statement "LAB_001fec28:\n                uVar20 = uVar20 | 0x40;" statement_identifier : (expression_statement "uVar20 = uVar20 | 0x40;" (assignment_expression "uVar20 = uVar20 | 0x40" identifier = (binary_expression "uVar20 | 0x40" identifier | number_literal)) ;)) (expression_statement "uVar21 = uVar20;" (assignment_expression "uVar21 = uVar20" identifier = identifier) ;) (if_statement "if ((int)sVar12 <= iVar15) goto LAB_001fec34;" if (parenthesized_expression "((int)sVar12 <= iVar15)" ( (binary_expression "(int)sVar12 <= iVar15" (cast_expression "(int)sVar12" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (goto_statement "goto LAB_001fec34;" goto statement_identifier ;)) })) (if_statement "if (*(float *)(iVar13 + iVar18 + 4) != fVar30) goto LAB_001fec34;" if (parenthesized_expression "(*(float *)(iVar13 + iVar18 + 4) != fVar30)" ( (binary_expression "*(float *)(iVar13 + iVar18 + 4) != fVar30" (pointer_expression "*(float *)(iVar13 + iVar18 + 4)" * (cast_expression "(float *)(iVar13 + iVar18 + 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + iVar18 + 4)" ( (binary_expression "iVar13 + iVar18 + 4" (binary_expression "iVar13 + iVar18" identifier + identifier) + number_literal) )))) != identifier) )) (goto_statement "goto LAB_001fec34;" goto statement_identifier ;)) (expression_statement "uVar21 = uVar20 | 0x80;" (assignment_expression "uVar21 = uVar20 | 0x80" identifier = (binary_expression "uVar20 | 0x80" identifier | number_literal)) ;) (if_statement "if (bVar5) goto LAB_001fedf4;" if (parenthesized_expression "(bVar5)" ( identifier )) (goto_statement "goto LAB_001fedf4;" goto statement_identifier ;)) (labeled_statement "LAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image,puVar6[uVar21 + 0xa50]);\n              }" statement_identifier : (if_statement "if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image,puVar6[uVar21 + 0xa50]);\n              }" if (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image);\n              }" { (expression_statement "(*(code *)PTR_WriteBlobByte_003a8fdc)(image);" (call_expression "(*(code *)PTR_WriteBlobByte_003a8fdc)(image)" (parenthesized_expression "(*(code *)PTR_WriteBlobByte_003a8fdc)" ( (pointer_expression "*(code *)PTR_WriteBlobByte_003a8fdc" * (cast_expression "(code *)PTR_WriteBlobByte_003a8fdc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image)" ( identifier ))) ;) }) (else_clause "else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image,puVar6[uVar21 + 0xa50]);\n              }" else (compound_statement "{\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(image,puVar6[uVar21 + 0xa50]);\n              }" { (expression_statement "(*(code *)PTR_WriteBlobByte_003a8fdc)(image,puVar6[uVar21 + 0xa50]);" (call_expression "(*(code *)PTR_WriteBlobByte_003a8fdc)(image,puVar6[uVar21 + 0xa50])" (parenthesized_expression "(*(code *)PTR_WriteBlobByte_003a8fdc)" ( (pointer_expression "*(code *)PTR_WriteBlobByte_003a8fdc" * (cast_expression "(code *)PTR_WriteBlobByte_003a8fdc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image,puVar6[uVar21 + 0xa50])" ( identifier , (subscript_expression "puVar6[uVar21 + 0xa50]" identifier [ (binary_expression "uVar21 + 0xa50" identifier + number_literal) ]) ))) ;) })))) }))) (expression_statement "sVar12 = image->columns;" (assignment_expression "sVar12 = image->columns" identifier = (field_expression "image->columns" identifier -> field_identifier)) ;) (expression_statement "iVar26 = iVar26 + 2;" (assignment_expression "iVar26 = iVar26 + 2" identifier = (binary_expression "iVar26 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar26 < (int)sVar12)" ( (binary_expression "iVar26 < (int)sVar12" identifier < (cast_expression "(int)sVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (if_statement "if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(image,10);\n        }" if (parenthesized_expression "(!bVar3)" ( (unary_expression "!bVar3" ! identifier) )) (compound_statement "{\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(image,10);\n        }" { (expression_statement "(*(code *)PTR_WriteBlobByte_003a8fdc)(image,10);" (call_expression "(*(code *)PTR_WriteBlobByte_003a8fdc)(image,10)" (parenthesized_expression "(*(code *)PTR_WriteBlobByte_003a8fdc)" ( (pointer_expression "*(code *)PTR_WriteBlobByte_003a8fdc" * (cast_expression "(code *)PTR_WriteBlobByte_003a8fdc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image,10)" ( identifier , number_literal ))) ;) })) (expression_statement "pEVar16 = pEVar25;" (assignment_expression "pEVar16 = pEVar25" identifier = identifier) ;) (expression_statement "iVar9 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (image,puVar11,(int)pEVar25 >> 0x1f,pEVar25,0,image->rows);" (assignment_expression "iVar9 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (image,puVar11,(int)pEVar25 >> 0x1f,pEVar25,0,image->rows)" identifier = (call_expression "(*(code *)PTR_SetImageProgress_003a8cb4)\n                          (image,puVar11,(int)pEVar25 >> 0x1f,pEVar25,0,image->rows)" (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 "(image,puVar11,(int)pEVar25 >> 0x1f,pEVar25,0,image->rows)" ( identifier , identifier , (binary_expression "(int)pEVar25 >> 0x1f" (cast_expression "(int)pEVar25" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) , identifier , number_literal , (field_expression "image->rows" identifier -> field_identifier) )))) ;) (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar14 = (undefined1 *)image->rows;" (assignment_expression "puVar14 = (undefined1 *)image->rows" identifier = (cast_expression "(undefined1 *)image->rows" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "image->rows" identifier -> field_identifier))) ;) (expression_statement "pEVar25 = (ExceptionInfo *)(puVar24 + (int)&pEVar25->severity);" (assignment_expression "pEVar25 = (ExceptionInfo *)(puVar24 + (int)&pEVar25->severity)" identifier = (cast_expression "(ExceptionInfo *)(puVar24 + (int)&pEVar25->severity)" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + (int)&pEVar25->severity)" ( (binary_expression "puVar24 + (int)&pEVar25->severity" identifier + (cast_expression "(int)&pEVar25->severity" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar25->severity" & (field_expression "pEVar25->severity" identifier -> field_identifier)))) )))) ;) (expression_statement "puVar23 = puVar24 + (int)&pEVar25->severity;" (assignment_expression "puVar23 = puVar24 + (int)&pEVar25->severity" identifier = (binary_expression "puVar24 + (int)&pEVar25->severity" identifier + (cast_expression "(int)&pEVar25->severity" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar25->severity" & (field_expression "pEVar25->severity" identifier -> field_identifier))))) ;) }) while (parenthesized_expression "((int)pEVar25 < (int)puVar14)" ( (binary_expression "(int)pEVar25 < (int)puVar14" (cast_expression "(int)pEVar25" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(image);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(image)" (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 "(image)" ( identifier ))) ;) (expression_statement "MVar10 = MagickTrue;" (assignment_expression "MVar10 = MagickTrue" identifier = identifier) ;) })) (if_statement "if (iVar8 == *(int *)puVar7) {\n    return MVar10;\n  }" if (parenthesized_expression "(iVar8 == *(int *)puVar7)" ( (binary_expression "iVar8 == *(int *)puVar7" identifier == (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return MVar10;\n  }" { (return_statement "return MVar10;" return identifier ;) })) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" * (cast_expression "(code *)PTR___stack_chk_fail_003a9064" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_001ff384:\n  MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                     (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + 0x978,0xf4,\n                      &pEVar16[0x55].error_number);" statement_identifier : (expression_statement "MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                     (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + 0x978,0xf4,\n                      &pEVar16[0x55].error_number);" (assignment_expression "MVar10 = (*(code *)PTR___assert_fail_003a9608)\n                     (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + 0x978,0xf4,\n                      &pEVar16[0x55].error_number)" identifier = (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                     (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + 0x978,0xf4,\n                      &pEVar16[0x55].error_number)" (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_s_courses_003a88ec + 0x978,0xf4,\n                      &pEVar16[0x55].error_number)" ( (binary_expression "PTR_LAB_003a88e0 + 0x294c" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + 0x978" identifier + number_literal) , number_literal , (pointer_expression "&pEVar16[0x55].error_number" & (field_expression "pEVar16[0x55].error_number" (subscript_expression "pEVar16[0x55]" identifier [ number_literal ]) . field_identifier)) )))) ;)) (return_statement "return MVar10;" return identifier ;) })))
(translation_unit "int FUN_001fe8e0(int param_1,int *param_2,undefined *param_3)\n\n{\n  bool bVar1;\n  bool bVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  undefined *puVar6;\n  int iVar7;\n  undefined *puVar8;\n  int iVar9;\n  undefined *puVar10;\n  undefined1 *puVar11;\n  int iVar12;\n  undefined *puVar13;\n  int iVar14;\n  int iVar15;\n  uint uVar16;\n  uint uVar17;\n  int iVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined *puVar21;\n  int iVar22;\n  float fVar25;\n  float fVar26;\n  double dVar23;\n  double dVar24;\n  undefined8 uVar27;\n  ulonglong uVar28;\n  float fVar29;\n  undefined1 local_1040;\n  byte local_103f;\n  byte local_103e;\n  undefined1 auStack_103c [4096];\n  int local_3c;\n  \n  puVar6 = PTR___stack_chk_guard_003a9230;\n  local_3c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  if (param_2 == (int *)0x0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  if (param_2[0xcdb] != -0x54535255) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                       PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  iVar18 = param_1 + 0x210;\n  iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46cc);\n  if (iVar7 == 0) {\n    puVar19 = &DAT_00000004;\n    bVar5 = true;\n    bVar3 = false;\nLAB_001fe9f8:\n    iVar7 = param_2[0xcd4];\n  }\n  else {\n    iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46d4);\n    if (iVar7 != 0) {\n      iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc);\n      if (iVar7 == 0) {\n        puVar19 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }\n      goto LAB_001fe9f8;\n    }\n    iVar7 = param_2[0xcd4];\n    puVar19 = (undefined1 *)0x3;\n    bVar5 = true;\n    bVar3 = false;\n  }\n  if (iVar7 != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0xd0);\n  }\n  if (param_3 == (undefined *)0x0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  puVar13 = PTR_s_courses_003a88ec;\n  if (*(int *)(param_3 + 0x1c) != -0x54535255) goto LAB_001ff384;\n  puVar13 = param_3;\n  iVar7 = (*(code *)PTR_OpenBlob_003a924c)(param_1,param_2,4,param_3);\n  if (iVar7 != 0) {\n    if (!bVar3) {\n      puVar10 = (undefined *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          );\n      if (puVar10 != (undefined *)0x0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n        puVar13 = puVar10;\n      }\n      if (param_2[0x8c] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      if (param_2[0x8d] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9a4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9b4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,PTR_s_courses_003a88ec + -0x4bdc);\n    }\n    (*(code *)PTR_SetImageType_003a9188)(param_2,1,param_3);\n    if (*param_2 == 2) {\n      dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n      uVar28 = 0;\n      if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar23) {\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n      if (param_2[9] == 2) {\n        dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n        dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58);\n        if (dVar23 < dVar24) goto LAB_001fea70;\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n    }\n    else {\nLAB_001fea70:\n      uVar28 = 0;\n    }\n    puVar10 = PTR_s_courses_003a88ec;\n    puVar11 = (undefined1 *)param_2[7];\n    if (0 < (int)puVar11) {\n      puVar21 = (undefined *)0x0;\n      puVar8 = PTR_s_courses_003a88ec + -0x15c;\n      puVar20 = puVar19;\n      do {\n        if (puVar11 < puVar19) {\n          puVar20 = puVar11 + -(int)puVar21;\n        }\n        puVar13 = (undefined *)param_2[6];\n        iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3);\n        if (iVar7 == 0) break;\n        iVar18 = param_2[6];\n        if (0 < iVar18) {\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }\n        puVar13 = puVar21;\n        iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7]);\n        if (iVar7 == 0) break;\n        puVar11 = (undefined1 *)param_2[7];\n        puVar21 = puVar21 + (int)puVar20;\n        puVar19 = puVar21 + (int)puVar20;\n      } while ((int)puVar21 < (int)puVar11);\n    }\n    (*(code *)PTR_CloseBlob_003a9688)(param_2);\n    iVar7 = 1;\n  }\n  if (local_3c == *(int *)puVar6) {\n    return iVar7;\n  }\n  (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_001ff384:\n  iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                    (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + 0x978,0xf4,puVar13 + 0xaa4);\n  return iVar7;\n}\n\n" (function_definition "int FUN_001fe8e0(int param_1,int *param_2,undefined *param_3)\n\n{\n  bool bVar1;\n  bool bVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  undefined *puVar6;\n  int iVar7;\n  undefined *puVar8;\n  int iVar9;\n  undefined *puVar10;\n  undefined1 *puVar11;\n  int iVar12;\n  undefined *puVar13;\n  int iVar14;\n  int iVar15;\n  uint uVar16;\n  uint uVar17;\n  int iVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined *puVar21;\n  int iVar22;\n  float fVar25;\n  float fVar26;\n  double dVar23;\n  double dVar24;\n  undefined8 uVar27;\n  ulonglong uVar28;\n  float fVar29;\n  undefined1 local_1040;\n  byte local_103f;\n  byte local_103e;\n  undefined1 auStack_103c [4096];\n  int local_3c;\n  \n  puVar6 = PTR___stack_chk_guard_003a9230;\n  local_3c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  if (param_2 == (int *)0x0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  if (param_2[0xcdb] != -0x54535255) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                       PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  iVar18 = param_1 + 0x210;\n  iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46cc);\n  if (iVar7 == 0) {\n    puVar19 = &DAT_00000004;\n    bVar5 = true;\n    bVar3 = false;\nLAB_001fe9f8:\n    iVar7 = param_2[0xcd4];\n  }\n  else {\n    iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46d4);\n    if (iVar7 != 0) {\n      iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc);\n      if (iVar7 == 0) {\n        puVar19 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }\n      goto LAB_001fe9f8;\n    }\n    iVar7 = param_2[0xcd4];\n    puVar19 = (undefined1 *)0x3;\n    bVar5 = true;\n    bVar3 = false;\n  }\n  if (iVar7 != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0xd0);\n  }\n  if (param_3 == (undefined *)0x0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  puVar13 = PTR_s_courses_003a88ec;\n  if (*(int *)(param_3 + 0x1c) != -0x54535255) goto LAB_001ff384;\n  puVar13 = param_3;\n  iVar7 = (*(code *)PTR_OpenBlob_003a924c)(param_1,param_2,4,param_3);\n  if (iVar7 != 0) {\n    if (!bVar3) {\n      puVar10 = (undefined *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          );\n      if (puVar10 != (undefined *)0x0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n        puVar13 = puVar10;\n      }\n      if (param_2[0x8c] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      if (param_2[0x8d] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9a4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9b4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,PTR_s_courses_003a88ec + -0x4bdc);\n    }\n    (*(code *)PTR_SetImageType_003a9188)(param_2,1,param_3);\n    if (*param_2 == 2) {\n      dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n      uVar28 = 0;\n      if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar23) {\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n      if (param_2[9] == 2) {\n        dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n        dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58);\n        if (dVar23 < dVar24) goto LAB_001fea70;\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n    }\n    else {\nLAB_001fea70:\n      uVar28 = 0;\n    }\n    puVar10 = PTR_s_courses_003a88ec;\n    puVar11 = (undefined1 *)param_2[7];\n    if (0 < (int)puVar11) {\n      puVar21 = (undefined *)0x0;\n      puVar8 = PTR_s_courses_003a88ec + -0x15c;\n      puVar20 = puVar19;\n      do {\n        if (puVar11 < puVar19) {\n          puVar20 = puVar11 + -(int)puVar21;\n        }\n        puVar13 = (undefined *)param_2[6];\n        iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3);\n        if (iVar7 == 0) break;\n        iVar18 = param_2[6];\n        if (0 < iVar18) {\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }\n        puVar13 = puVar21;\n        iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7]);\n        if (iVar7 == 0) break;\n        puVar11 = (undefined1 *)param_2[7];\n        puVar21 = puVar21 + (int)puVar20;\n        puVar19 = puVar21 + (int)puVar20;\n      } while ((int)puVar21 < (int)puVar11);\n    }\n    (*(code *)PTR_CloseBlob_003a9688)(param_2);\n    iVar7 = 1;\n  }\n  if (local_3c == *(int *)puVar6) {\n    return iVar7;\n  }\n  (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_001ff384:\n  iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                    (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + 0x978,0xf4,puVar13 + 0xaa4);\n  return iVar7;\n}" primitive_type (function_declarator "FUN_001fe8e0(int param_1,int *param_2,undefined *param_3)" identifier (parameter_list "(int param_1,int *param_2,undefined *param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  bool bVar1;\n  bool bVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  undefined *puVar6;\n  int iVar7;\n  undefined *puVar8;\n  int iVar9;\n  undefined *puVar10;\n  undefined1 *puVar11;\n  int iVar12;\n  undefined *puVar13;\n  int iVar14;\n  int iVar15;\n  uint uVar16;\n  uint uVar17;\n  int iVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined *puVar21;\n  int iVar22;\n  float fVar25;\n  float fVar26;\n  double dVar23;\n  double dVar24;\n  undefined8 uVar27;\n  ulonglong uVar28;\n  float fVar29;\n  undefined1 local_1040;\n  byte local_103f;\n  byte local_103e;\n  undefined1 auStack_103c [4096];\n  int local_3c;\n  \n  puVar6 = PTR___stack_chk_guard_003a9230;\n  local_3c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  if (param_2 == (int *)0x0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  if (param_2[0xcdb] != -0x54535255) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                       PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  iVar18 = param_1 + 0x210;\n  iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46cc);\n  if (iVar7 == 0) {\n    puVar19 = &DAT_00000004;\n    bVar5 = true;\n    bVar3 = false;\nLAB_001fe9f8:\n    iVar7 = param_2[0xcd4];\n  }\n  else {\n    iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46d4);\n    if (iVar7 != 0) {\n      iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc);\n      if (iVar7 == 0) {\n        puVar19 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }\n      goto LAB_001fe9f8;\n    }\n    iVar7 = param_2[0xcd4];\n    puVar19 = (undefined1 *)0x3;\n    bVar5 = true;\n    bVar3 = false;\n  }\n  if (iVar7 != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0xd0);\n  }\n  if (param_3 == (undefined *)0x0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  puVar13 = PTR_s_courses_003a88ec;\n  if (*(int *)(param_3 + 0x1c) != -0x54535255) goto LAB_001ff384;\n  puVar13 = param_3;\n  iVar7 = (*(code *)PTR_OpenBlob_003a924c)(param_1,param_2,4,param_3);\n  if (iVar7 != 0) {\n    if (!bVar3) {\n      puVar10 = (undefined *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          );\n      if (puVar10 != (undefined *)0x0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n        puVar13 = puVar10;\n      }\n      if (param_2[0x8c] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      if (param_2[0x8d] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9a4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9b4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,PTR_s_courses_003a88ec + -0x4bdc);\n    }\n    (*(code *)PTR_SetImageType_003a9188)(param_2,1,param_3);\n    if (*param_2 == 2) {\n      dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n      uVar28 = 0;\n      if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar23) {\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n      if (param_2[9] == 2) {\n        dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n        dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58);\n        if (dVar23 < dVar24) goto LAB_001fea70;\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n    }\n    else {\nLAB_001fea70:\n      uVar28 = 0;\n    }\n    puVar10 = PTR_s_courses_003a88ec;\n    puVar11 = (undefined1 *)param_2[7];\n    if (0 < (int)puVar11) {\n      puVar21 = (undefined *)0x0;\n      puVar8 = PTR_s_courses_003a88ec + -0x15c;\n      puVar20 = puVar19;\n      do {\n        if (puVar11 < puVar19) {\n          puVar20 = puVar11 + -(int)puVar21;\n        }\n        puVar13 = (undefined *)param_2[6];\n        iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3);\n        if (iVar7 == 0) break;\n        iVar18 = param_2[6];\n        if (0 < iVar18) {\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }\n        puVar13 = puVar21;\n        iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7]);\n        if (iVar7 == 0) break;\n        puVar11 = (undefined1 *)param_2[7];\n        puVar21 = puVar21 + (int)puVar20;\n        puVar19 = puVar21 + (int)puVar20;\n      } while ((int)puVar21 < (int)puVar11);\n    }\n    (*(code *)PTR_CloseBlob_003a9688)(param_2);\n    iVar7 = 1;\n  }\n  if (local_3c == *(int *)puVar6) {\n    return iVar7;\n  }\n  (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_001ff384:\n  iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                    (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + 0x978,0xf4,puVar13 + 0xaa4);\n  return iVar7;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined1 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "undefined1 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "undefined1 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "undefined *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "float fVar25;" primitive_type identifier ;) (declaration "float fVar26;" primitive_type identifier ;) (declaration "double dVar23;" primitive_type identifier ;) (declaration "double dVar24;" primitive_type identifier ;) (declaration "undefined8 uVar27;" type_identifier identifier ;) (declaration "ulonglong uVar28;" type_identifier identifier ;) (declaration "float fVar29;" primitive_type identifier ;) (declaration "undefined1 local_1040;" type_identifier identifier ;) (declaration "byte local_103f;" type_identifier identifier ;) (declaration "byte local_103e;" type_identifier identifier ;) (declaration "undefined1 auStack_103c [4096];" type_identifier (array_declarator "auStack_103c [4096]" identifier [ number_literal ]) ;) (declaration "int local_3c;" primitive_type identifier ;) (expression_statement "puVar6 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar6 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "local_3c = *(int *)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_3c = *(int *)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_003a9230" * (cast_expression "(int *)PTR___stack_chk_guard_003a9230" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (param_1 == 0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }" { (expression_statement "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,\n                       PTR_s_courses_003a88ec + 0xaa4);" (assignment_expression "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,\n                       PTR_s_courses_003a88ec + 0xaa4)" identifier = (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,\n                       PTR_s_courses_003a88ec + 0xaa4)" (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_s_courses_003a88ec + 0x978,0xdb,\n                       PTR_s_courses_003a88ec + 0xaa4)" ( (binary_expression "PTR_LAB_003a88e0 + 0xd78" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + 0x978" identifier + number_literal) , number_literal , (binary_expression "PTR_s_courses_003a88ec + 0xaa4" identifier + number_literal) )))) ;) (return_statement "return iVar7;" return identifier ;) })) (if_statement "if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\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    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }" { (expression_statement "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,\n                       PTR_s_courses_003a88ec + 0xaa4);" (assignment_expression "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,\n                       PTR_s_courses_003a88ec + 0xaa4)" identifier = (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,\n                       PTR_s_courses_003a88ec + 0xaa4)" (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_s_courses_003a88ec + 0x978,0xdc,\n                       PTR_s_courses_003a88ec + 0xaa4)" ( (binary_expression "PTR_LAB_003a88e0 + 0xda0" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + 0x978" identifier + number_literal) , number_literal , (binary_expression "PTR_s_courses_003a88ec + 0xaa4" identifier + number_literal) )))) ;) (return_statement "return iVar7;" return identifier ;) })) (if_statement "if (param_2 == (int *)0x0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }" if (parenthesized_expression "(param_2 == (int *)0x0)" ( (binary_expression "param_2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }" { (expression_statement "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                       PTR_s_courses_003a88ec + 0xaa4);" (assignment_expression "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                       PTR_s_courses_003a88ec + 0xaa4)" identifier = (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                       PTR_s_courses_003a88ec + 0xaa4)" (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 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                       PTR_s_courses_003a88ec + 0xaa4)" ( (binary_expression "PTR_LAB_003a88e0 + 0xdd0" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + 0x978" identifier + number_literal) , number_literal , (binary_expression "PTR_s_courses_003a88ec + 0xaa4" identifier + number_literal) )))) ;) (return_statement "return iVar7;" return identifier ;) })) (if_statement "if (param_2[0xcdb] != -0x54535255) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                       PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }" if (parenthesized_expression "(param_2[0xcdb] != -0x54535255)" ( (binary_expression "param_2[0xcdb] != -0x54535255" (subscript_expression "param_2[0xcdb]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                       PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }" { (expression_statement "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                       PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4);" (assignment_expression "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                       PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4)" identifier = (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                      (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                       PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                       PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + 0x978" identifier + number_literal) , number_literal , (binary_expression "PTR_s_courses_003a88ec + 0xaa4" identifier + number_literal) )))) ;) (return_statement "return iVar7;" return identifier ;) })) (expression_statement "iVar18 = param_1 + 0x210;" (assignment_expression "iVar18 = param_1 + 0x210" identifier = (binary_expression "param_1 + 0x210" identifier + number_literal)) ;) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46cc);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46cc)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46cc)" (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 "(iVar18,PTR_LAB_003a88e0 + 0x46cc)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x46cc" identifier + number_literal) )))) ;) (if_statement "if (iVar7 == 0) {\n    puVar19 = &DAT_00000004;\n    bVar5 = true;\n    bVar3 = false;\nLAB_001fe9f8:\n    iVar7 = param_2[0xcd4];\n  }\n  else {\n    iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46d4);\n    if (iVar7 != 0) {\n      iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc);\n      if (iVar7 == 0) {\n        puVar19 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }\n      goto LAB_001fe9f8;\n    }\n    iVar7 = param_2[0xcd4];\n    puVar19 = (undefined1 *)0x3;\n    bVar5 = true;\n    bVar3 = false;\n  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n    puVar19 = &DAT_00000004;\n    bVar5 = true;\n    bVar3 = false;\nLAB_001fe9f8:\n    iVar7 = param_2[0xcd4];\n  }" { (expression_statement "puVar19 = &DAT_00000004;" (assignment_expression "puVar19 = &DAT_00000004" identifier = (pointer_expression "&DAT_00000004" & identifier)) ;) (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" identifier = true) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (labeled_statement "LAB_001fe9f8:\n    iVar7 = param_2[0xcd4];" statement_identifier : (expression_statement "iVar7 = param_2[0xcd4];" (assignment_expression "iVar7 = param_2[0xcd4]" identifier = (subscript_expression "param_2[0xcd4]" identifier [ number_literal ])) ;)) }) (else_clause "else {\n    iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46d4);\n    if (iVar7 != 0) {\n      iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc);\n      if (iVar7 == 0) {\n        puVar19 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }\n      goto LAB_001fe9f8;\n    }\n    iVar7 = param_2[0xcd4];\n    puVar19 = (undefined1 *)0x3;\n    bVar5 = true;\n    bVar3 = false;\n  }" else (compound_statement "{\n    iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46d4);\n    if (iVar7 != 0) {\n      iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc);\n      if (iVar7 == 0) {\n        puVar19 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }\n      goto LAB_001fe9f8;\n    }\n    iVar7 = param_2[0xcd4];\n    puVar19 = (undefined1 *)0x3;\n    bVar5 = true;\n    bVar3 = false;\n  }" { (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46d4);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46d4)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46d4)" (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 "(iVar18,PTR_LAB_003a88e0 + 0x46d4)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x46d4" identifier + number_literal) )))) ;) (if_statement "if (iVar7 != 0) {\n      iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc);\n      if (iVar7 == 0) {\n        puVar19 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }\n      goto LAB_001fe9f8;\n    }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc);\n      if (iVar7 == 0) {\n        puVar19 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }\n      goto LAB_001fe9f8;\n    }" { (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc)" (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 "(iVar18,PTR_LAB_003a88e0 + 0x46dc)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x46dc" identifier + number_literal) )))) ;) (if_statement "if (iVar7 == 0) {\n        puVar19 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        puVar19 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }" { (expression_statement "puVar19 = &DAT_00000004;" (assignment_expression "puVar19 = &DAT_00000004" identifier = (pointer_expression "&DAT_00000004" & identifier)) ;) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) }) (else_clause "else {\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }" else (compound_statement "{\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }" { (expression_statement "puVar19 = (undefined1 *)0x3;" (assignment_expression "puVar19 = (undefined1 *)0x3" identifier = (cast_expression "(undefined1 *)0x3" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4)" (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 "(iVar18,PTR_LAB_003a88e0 + 0x46e4)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x46e4" identifier + number_literal) )))) ;) (expression_statement "bVar3 = iVar7 == 0;" (assignment_expression "bVar3 = iVar7 == 0" identifier = (binary_expression "iVar7 == 0" identifier == number_literal)) ;) }))) (goto_statement "goto LAB_001fe9f8;" goto statement_identifier ;) })) (expression_statement "iVar7 = param_2[0xcd4];" (assignment_expression "iVar7 = param_2[0xcd4]" identifier = (subscript_expression "param_2[0xcd4]" identifier [ number_literal ])) ;) (expression_statement "puVar19 = (undefined1 *)0x3;" (assignment_expression "puVar19 = (undefined1 *)0x3" identifier = (cast_expression "(undefined1 *)0x3" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" identifier = true) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) }))) (if_statement "if (iVar7 != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0xd0);\n  }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0xd0);\n  }" { (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0xd0);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0xd0)" (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_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0xd0)" ( number_literal , (binary_expression "PTR_s_courses_003a88ec + 0x978" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + 0xa90" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" identifier + number_literal) , (binary_expression "param_2 + 0xd0" identifier + number_literal) ))) ;) })) (if_statement "if (param_3 == (undefined *)0x0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }" if (parenthesized_expression "(param_3 == (undefined *)0x0)" ( (binary_expression "param_3 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }" { (expression_statement "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,\n                       PTR_s_courses_003a88ec + 0xaa4);" (assignment_expression "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,\n                       PTR_s_courses_003a88ec + 0xaa4)" identifier = (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,\n                       PTR_s_courses_003a88ec + 0xaa4)" (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_s_courses_003a88ec + 0x978,0xf3,\n                       PTR_s_courses_003a88ec + 0xaa4)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1cac" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + 0x978" identifier + number_literal) , number_literal , (binary_expression "PTR_s_courses_003a88ec + 0xaa4" identifier + number_literal) )))) ;) (return_statement "return iVar7;" return identifier ;) })) (expression_statement "puVar13 = PTR_s_courses_003a88ec;" (assignment_expression "puVar13 = PTR_s_courses_003a88ec" identifier = identifier) ;) (if_statement "if (*(int *)(param_3 + 0x1c) != -0x54535255) goto LAB_001ff384;" if (parenthesized_expression "(*(int *)(param_3 + 0x1c) != -0x54535255)" ( (binary_expression "*(int *)(param_3 + 0x1c) != -0x54535255" (pointer_expression "*(int *)(param_3 + 0x1c)" * (cast_expression "(int *)(param_3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1c)" ( (binary_expression "param_3 + 0x1c" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_001ff384;" goto statement_identifier ;)) (expression_statement "puVar13 = param_3;" (assignment_expression "puVar13 = param_3" identifier = identifier) ;) (expression_statement "iVar7 = (*(code *)PTR_OpenBlob_003a924c)(param_1,param_2,4,param_3);" (assignment_expression "iVar7 = (*(code *)PTR_OpenBlob_003a924c)(param_1,param_2,4,param_3)" identifier = (call_expression "(*(code *)PTR_OpenBlob_003a924c)(param_1,param_2,4,param_3)" (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,param_2,4,param_3)" ( identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar7 != 0) {\n    if (!bVar3) {\n      puVar10 = (undefined *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          );\n      if (puVar10 != (undefined *)0x0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n        puVar13 = puVar10;\n      }\n      if (param_2[0x8c] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      if (param_2[0x8d] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9a4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9b4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,PTR_s_courses_003a88ec + -0x4bdc);\n    }\n    (*(code *)PTR_SetImageType_003a9188)(param_2,1,param_3);\n    if (*param_2 == 2) {\n      dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n      uVar28 = 0;\n      if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar23) {\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n      if (param_2[9] == 2) {\n        dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n        dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58);\n        if (dVar23 < dVar24) goto LAB_001fea70;\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n    }\n    else {\nLAB_001fea70:\n      uVar28 = 0;\n    }\n    puVar10 = PTR_s_courses_003a88ec;\n    puVar11 = (undefined1 *)param_2[7];\n    if (0 < (int)puVar11) {\n      puVar21 = (undefined *)0x0;\n      puVar8 = PTR_s_courses_003a88ec + -0x15c;\n      puVar20 = puVar19;\n      do {\n        if (puVar11 < puVar19) {\n          puVar20 = puVar11 + -(int)puVar21;\n        }\n        puVar13 = (undefined *)param_2[6];\n        iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3);\n        if (iVar7 == 0) break;\n        iVar18 = param_2[6];\n        if (0 < iVar18) {\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }\n        puVar13 = puVar21;\n        iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7]);\n        if (iVar7 == 0) break;\n        puVar11 = (undefined1 *)param_2[7];\n        puVar21 = puVar21 + (int)puVar20;\n        puVar19 = puVar21 + (int)puVar20;\n      } while ((int)puVar21 < (int)puVar11);\n    }\n    (*(code *)PTR_CloseBlob_003a9688)(param_2);\n    iVar7 = 1;\n  }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n    if (!bVar3) {\n      puVar10 = (undefined *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          );\n      if (puVar10 != (undefined *)0x0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n        puVar13 = puVar10;\n      }\n      if (param_2[0x8c] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      if (param_2[0x8d] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9a4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9b4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,PTR_s_courses_003a88ec + -0x4bdc);\n    }\n    (*(code *)PTR_SetImageType_003a9188)(param_2,1,param_3);\n    if (*param_2 == 2) {\n      dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n      uVar28 = 0;\n      if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar23) {\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n      if (param_2[9] == 2) {\n        dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n        dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58);\n        if (dVar23 < dVar24) goto LAB_001fea70;\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n    }\n    else {\nLAB_001fea70:\n      uVar28 = 0;\n    }\n    puVar10 = PTR_s_courses_003a88ec;\n    puVar11 = (undefined1 *)param_2[7];\n    if (0 < (int)puVar11) {\n      puVar21 = (undefined *)0x0;\n      puVar8 = PTR_s_courses_003a88ec + -0x15c;\n      puVar20 = puVar19;\n      do {\n        if (puVar11 < puVar19) {\n          puVar20 = puVar11 + -(int)puVar21;\n        }\n        puVar13 = (undefined *)param_2[6];\n        iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3);\n        if (iVar7 == 0) break;\n        iVar18 = param_2[6];\n        if (0 < iVar18) {\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }\n        puVar13 = puVar21;\n        iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7]);\n        if (iVar7 == 0) break;\n        puVar11 = (undefined1 *)param_2[7];\n        puVar21 = puVar21 + (int)puVar20;\n        puVar19 = puVar21 + (int)puVar20;\n      } while ((int)puVar21 < (int)puVar11);\n    }\n    (*(code *)PTR_CloseBlob_003a9688)(param_2);\n    iVar7 = 1;\n  }" { (if_statement "if (!bVar3) {\n      puVar10 = (undefined *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          );\n      if (puVar10 != (undefined *)0x0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n        puVar13 = puVar10;\n      }\n      if (param_2[0x8c] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      if (param_2[0x8d] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9a4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9b4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,PTR_s_courses_003a88ec + -0x4bdc);\n    }" if (parenthesized_expression "(!bVar3)" ( (unary_expression "!bVar3" ! identifier) )) (compound_statement "{\n      puVar10 = (undefined *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          );\n      if (puVar10 != (undefined *)0x0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n        puVar13 = puVar10;\n      }\n      if (param_2[0x8c] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      if (param_2[0x8d] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9a4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9b4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,PTR_s_courses_003a88ec + -0x4bdc);\n    }" { (expression_statement "puVar10 = (undefined *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          );" (assignment_expression "puVar10 = (undefined *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          )" identifier = (cast_expression "(undefined *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          )" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          )" (parenthesized_expression "(*(code *)PTR_GetImageProperty_003a93fc)" ( (pointer_expression "*(code *)PTR_GetImageProperty_003a93fc" * (cast_expression "(code *)PTR_GetImageProperty_003a93fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          )" ( identifier , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920" identifier + number_literal) , identifier ))))) ;) (if_statement "if (puVar10 != (undefined *)0x0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n        puVar13 = puVar10;\n      }" if (parenthesized_expression "(puVar10 != (undefined *)0x0)" ( (binary_expression "puVar10 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n        puVar13 = puVar10;\n      }" { (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10);" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003a8d7c" * (cast_expression "(code *)PTR_FormatLocaleString_003a8d7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10)" ( identifier , number_literal , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4" identifier + number_literal) , identifier ))) ;) (expression_statement "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);" (call_expression "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c)" (parenthesized_expression "(*(code *)PTR_WriteBlobString_003a95a8)" ( (pointer_expression "*(code *)PTR_WriteBlobString_003a95a8" * (cast_expression "(code *)PTR_WriteBlobString_003a95a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,auStack_103c)" ( identifier , identifier ))) ;) (expression_statement "puVar13 = puVar10;" (assignment_expression "puVar13 = puVar10" identifier = identifier) ;) })) (if_statement "if (param_2[0x8c] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }" if (parenthesized_expression "(param_2[0x8c] != 0)" ( (binary_expression "param_2[0x8c] != 0" (subscript_expression "param_2[0x8c]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }" { (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c);" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003a8d7c" * (cast_expression "(code *)PTR_FormatLocaleString_003a8d7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c)" ( identifier , number_literal , (binary_expression "PTR_s_courses_003a88ec + 0x98c" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);" (call_expression "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c)" (parenthesized_expression "(*(code *)PTR_WriteBlobString_003a95a8)" ( (pointer_expression "*(code *)PTR_WriteBlobString_003a95a8" * (cast_expression "(code *)PTR_WriteBlobString_003a95a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,auStack_103c)" ( identifier , identifier ))) ;) })) (if_statement "if (param_2[0x8d] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }" if (parenthesized_expression "(param_2[0x8d] != 0)" ( (binary_expression "param_2[0x8d] != 0" (subscript_expression "param_2[0x8d]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }" { (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998);" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003a8d7c" * (cast_expression "(code *)PTR_FormatLocaleString_003a8d7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998)" ( identifier , number_literal , (binary_expression "PTR_s_courses_003a88ec + 0x998" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);" (call_expression "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c)" (parenthesized_expression "(*(code *)PTR_WriteBlobString_003a95a8)" ( (pointer_expression "*(code *)PTR_WriteBlobString_003a95a8" * (cast_expression "(code *)PTR_WriteBlobString_003a95a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,auStack_103c)" ( identifier , identifier ))) ;) })) (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9a4)\n      ;" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9a4)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003a8d7c" * (cast_expression "(code *)PTR_FormatLocaleString_003a8d7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9a4)" ( identifier , number_literal , (binary_expression "PTR_s_courses_003a88ec + 0x9a4" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);" (call_expression "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c)" (parenthesized_expression "(*(code *)PTR_WriteBlobString_003a95a8)" ( (pointer_expression "*(code *)PTR_WriteBlobString_003a95a8" * (cast_expression "(code *)PTR_WriteBlobString_003a95a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,auStack_103c)" ( identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9b4)\n      ;" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9b4)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003a8d7c" * (cast_expression "(code *)PTR_FormatLocaleString_003a8d7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9b4)" ( identifier , number_literal , (binary_expression "PTR_s_courses_003a88ec + 0x9b4" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);" (call_expression "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c)" (parenthesized_expression "(*(code *)PTR_WriteBlobString_003a95a8)" ( (pointer_expression "*(code *)PTR_WriteBlobString_003a95a8" * (cast_expression "(code *)PTR_WriteBlobString_003a95a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,auStack_103c)" ( identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,PTR_s_courses_003a88ec + -0x4bdc);" (call_expression "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,PTR_s_courses_003a88ec + -0x4bdc)" (parenthesized_expression "(*(code *)PTR_WriteBlobString_003a95a8)" ( (pointer_expression "*(code *)PTR_WriteBlobString_003a95a8" * (cast_expression "(code *)PTR_WriteBlobString_003a95a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,PTR_s_courses_003a88ec + -0x4bdc)" ( identifier , (binary_expression "PTR_s_courses_003a88ec + -0x4bdc" identifier + number_literal) ))) ;) })) (expression_statement "(*(code *)PTR_SetImageType_003a9188)(param_2,1,param_3);" (call_expression "(*(code *)PTR_SetImageType_003a9188)(param_2,1,param_3)" (parenthesized_expression "(*(code *)PTR_SetImageType_003a9188)" ( (pointer_expression "*(code *)PTR_SetImageType_003a9188" * (cast_expression "(code *)PTR_SetImageType_003a9188" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,1,param_3)" ( identifier , number_literal , identifier ))) ;) (if_statement "if (*param_2 == 2) {\n      dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n      uVar28 = 0;\n      if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar23) {\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n      if (param_2[9] == 2) {\n        dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n        dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58);\n        if (dVar23 < dVar24) goto LAB_001fea70;\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n    }\n    else {\nLAB_001fea70:\n      uVar28 = 0;\n    }" if (parenthesized_expression "(*param_2 == 2)" ( (binary_expression "*param_2 == 2" (pointer_expression "*param_2" * identifier) == number_literal) )) (compound_statement "{\n      dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n      uVar28 = 0;\n      if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar23) {\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n      if (param_2[9] == 2) {\n        dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n        dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58);\n        if (dVar23 < dVar24) goto LAB_001fea70;\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n    }" { (expression_statement "dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);" (assignment_expression "dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10])" identifier = (cast_expression "(double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10])" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10])" (parenthesized_expression "(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)" ( (pointer_expression "*(code *)PTR_GetPixelInfoIntensity_003a8ea4" * (cast_expression "(code *)PTR_GetPixelInfoIntensity_003a8ea4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,param_2[10])" ( identifier , (subscript_expression "param_2[10]" identifier [ number_literal ]) ))))) ;) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (if_statement "if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar23) {\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }" if (parenthesized_expression "(*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar23)" ( (binary_expression "*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar23" (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1ad0)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1ad0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1ad0)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1ad0" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }" { (expression_statement "uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);" (assignment_expression "uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" identifier = (binary_expression "(ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c" identifier + number_literal) ))))) ;) })) (if_statement "if (param_2[9] == 2) {\n        dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n        dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58);\n        if (dVar23 < dVar24) goto LAB_001fea70;\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }" if (parenthesized_expression "(param_2[9] == 2)" ( (binary_expression "param_2[9] == 2" (subscript_expression "param_2[9]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n        dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58);\n        if (dVar23 < dVar24) goto LAB_001fea70;\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }" { (expression_statement "dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);" (assignment_expression "dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10])" identifier = (cast_expression "(double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10])" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10])" (parenthesized_expression "(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)" ( (pointer_expression "*(code *)PTR_GetPixelInfoIntensity_003a8ea4" * (cast_expression "(code *)PTR_GetPixelInfoIntensity_003a8ea4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,param_2[10])" ( identifier , (subscript_expression "param_2[10]" identifier [ number_literal ]) ))))) ;) (expression_statement "dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58);" (assignment_expression "dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58)" identifier = (cast_expression "(double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58)" (parenthesized_expression "(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)" ( (pointer_expression "*(code *)PTR_GetPixelInfoIntensity_003a8ea4" * (cast_expression "(code *)PTR_GetPixelInfoIntensity_003a8ea4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,param_2[10] + 0x58)" ( identifier , (binary_expression "param_2[10] + 0x58" (subscript_expression "param_2[10]" identifier [ number_literal ]) + number_literal) ))))) ;) (if_statement "if (dVar23 < dVar24) goto LAB_001fea70;" if (parenthesized_expression "(dVar23 < dVar24)" ( (binary_expression "dVar23 < dVar24" identifier < identifier) )) (goto_statement "goto LAB_001fea70;" goto statement_identifier ;)) (expression_statement "uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);" (assignment_expression "uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" identifier = (binary_expression "(ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c" identifier + number_literal) ))))) ;) })) }) (else_clause "else {\nLAB_001fea70:\n      uVar28 = 0;\n    }" else (compound_statement "{\nLAB_001fea70:\n      uVar28 = 0;\n    }" { (labeled_statement "LAB_001fea70:\n      uVar28 = 0;" statement_identifier : (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;)) }))) (expression_statement "puVar10 = PTR_s_courses_003a88ec;" (assignment_expression "puVar10 = PTR_s_courses_003a88ec" identifier = identifier) ;) (expression_statement "puVar11 = (undefined1 *)param_2[7];" (assignment_expression "puVar11 = (undefined1 *)param_2[7]" identifier = (cast_expression "(undefined1 *)param_2[7]" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[7]" identifier [ number_literal ]))) ;) (if_statement "if (0 < (int)puVar11) {\n      puVar21 = (undefined *)0x0;\n      puVar8 = PTR_s_courses_003a88ec + -0x15c;\n      puVar20 = puVar19;\n      do {\n        if (puVar11 < puVar19) {\n          puVar20 = puVar11 + -(int)puVar21;\n        }\n        puVar13 = (undefined *)param_2[6];\n        iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3);\n        if (iVar7 == 0) break;\n        iVar18 = param_2[6];\n        if (0 < iVar18) {\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }\n        puVar13 = puVar21;\n        iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7]);\n        if (iVar7 == 0) break;\n        puVar11 = (undefined1 *)param_2[7];\n        puVar21 = puVar21 + (int)puVar20;\n        puVar19 = puVar21 + (int)puVar20;\n      } while ((int)puVar21 < (int)puVar11);\n    }" if (parenthesized_expression "(0 < (int)puVar11)" ( (binary_expression "0 < (int)puVar11" number_literal < (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      puVar21 = (undefined *)0x0;\n      puVar8 = PTR_s_courses_003a88ec + -0x15c;\n      puVar20 = puVar19;\n      do {\n        if (puVar11 < puVar19) {\n          puVar20 = puVar11 + -(int)puVar21;\n        }\n        puVar13 = (undefined *)param_2[6];\n        iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3);\n        if (iVar7 == 0) break;\n        iVar18 = param_2[6];\n        if (0 < iVar18) {\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }\n        puVar13 = puVar21;\n        iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7]);\n        if (iVar7 == 0) break;\n        puVar11 = (undefined1 *)param_2[7];\n        puVar21 = puVar21 + (int)puVar20;\n        puVar19 = puVar21 + (int)puVar20;\n      } while ((int)puVar21 < (int)puVar11);\n    }" { (expression_statement "puVar21 = (undefined *)0x0;" (assignment_expression "puVar21 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar8 = PTR_s_courses_003a88ec + -0x15c;" (assignment_expression "puVar8 = PTR_s_courses_003a88ec + -0x15c" identifier = (binary_expression "PTR_s_courses_003a88ec + -0x15c" identifier + number_literal)) ;) (expression_statement "puVar20 = puVar19;" (assignment_expression "puVar20 = puVar19" identifier = identifier) ;) (do_statement "do {\n        if (puVar11 < puVar19) {\n          puVar20 = puVar11 + -(int)puVar21;\n        }\n        puVar13 = (undefined *)param_2[6];\n        iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3);\n        if (iVar7 == 0) break;\n        iVar18 = param_2[6];\n        if (0 < iVar18) {\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }\n        puVar13 = puVar21;\n        iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7]);\n        if (iVar7 == 0) break;\n        puVar11 = (undefined1 *)param_2[7];\n        puVar21 = puVar21 + (int)puVar20;\n        puVar19 = puVar21 + (int)puVar20;\n      } while ((int)puVar21 < (int)puVar11);" do (compound_statement "{\n        if (puVar11 < puVar19) {\n          puVar20 = puVar11 + -(int)puVar21;\n        }\n        puVar13 = (undefined *)param_2[6];\n        iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3);\n        if (iVar7 == 0) break;\n        iVar18 = param_2[6];\n        if (0 < iVar18) {\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }\n        puVar13 = puVar21;\n        iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7]);\n        if (iVar7 == 0) break;\n        puVar11 = (undefined1 *)param_2[7];\n        puVar21 = puVar21 + (int)puVar20;\n        puVar19 = puVar21 + (int)puVar20;\n      }" { (if_statement "if (puVar11 < puVar19) {\n          puVar20 = puVar11 + -(int)puVar21;\n        }" if (parenthesized_expression "(puVar11 < puVar19)" ( (binary_expression "puVar11 < puVar19" identifier < identifier) )) (compound_statement "{\n          puVar20 = puVar11 + -(int)puVar21;\n        }" { (expression_statement "puVar20 = puVar11 + -(int)puVar21;" (assignment_expression "puVar20 = puVar11 + -(int)puVar21" identifier = (binary_expression "puVar11 + -(int)puVar21" identifier + (unary_expression "-(int)puVar21" - (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) })) (expression_statement "puVar13 = (undefined *)param_2[6];" (assignment_expression "puVar13 = (undefined *)param_2[6]" identifier = (cast_expression "(undefined *)param_2[6]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[6]" identifier [ number_literal ]))) ;) (expression_statement "iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3);" (assignment_expression "iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3)" identifier = (call_expression "(*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3)" (parenthesized_expression "(*(code *)PTR_GetVirtualPixels_003a9764)" ( (pointer_expression "*(code *)PTR_GetVirtualPixels_003a9764" * (cast_expression "(code *)PTR_GetVirtualPixels_003a9764" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,0,puVar21,puVar13,puVar20,param_3)" ( identifier , number_literal , identifier , identifier , 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 "iVar18 = param_2[6];" (assignment_expression "iVar18 = param_2[6]" identifier = (subscript_expression "param_2[6]" identifier [ number_literal ])) ;) (if_statement "if (0 < iVar18) {\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }" if (parenthesized_expression "(0 < iVar18)" ( (binary_expression "0 < iVar18" number_literal < identifier) )) (compound_statement "{\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }" { (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" identifier = number_literal) ;) (expression_statement "iVar22 = 0;" (assignment_expression "iVar22 = 0" identifier = number_literal) ;) (expression_statement "bVar2 = puVar20 < (undefined1 *)0x2;" (assignment_expression "bVar2 = puVar20 < (undefined1 *)0x2" identifier = (binary_expression "puVar20 < (undefined1 *)0x2" identifier < (cast_expression "(undefined1 *)0x2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (do_statement "do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);" do (compound_statement "{\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          }" { (expression_statement "iVar12 = iVar22 + 1;" (assignment_expression "iVar12 = iVar22 + 1" identifier = (binary_expression "iVar22 + 1" identifier + number_literal)) ;) (expression_statement "iVar14 = param_2[0xb4];" (assignment_expression "iVar14 = param_2[0xb4]" identifier = (subscript_expression "param_2[0xb4]" identifier [ number_literal ])) ;) (expression_statement "fVar26 = (float)uVar27;" (assignment_expression "fVar26 = (float)uVar27" identifier = (cast_expression "(float)uVar27" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "fVar29 = (float)uVar28;" (assignment_expression "fVar29 = (float)uVar28" identifier = (cast_expression "(float)uVar28" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (if_statement "if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }" if (parenthesized_expression "(*param_2 == 2)" ( (binary_expression "*param_2 == 2" (pointer_expression "*param_2" * identifier) == number_literal) )) (compound_statement "{\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }" { (expression_statement "iVar15 = *(int *)(iVar14 + 0x40);" (assignment_expression "iVar15 = *(int *)(iVar14 + 0x40)" identifier = (pointer_expression "*(int *)(iVar14 + 0x40)" * (cast_expression "(int *)(iVar14 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x40)" ( (binary_expression "iVar14 + 0x40" identifier + number_literal) ))))) ;) (if_statement "if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }" { (expression_statement "uVar17 = (uint)(fVar29 == fVar26);" (assignment_expression "uVar17 = (uint)(fVar29 == fVar26)" identifier = (call_expression "(uint)(fVar29 == fVar26)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(fVar29 == fVar26)" ( (binary_expression "fVar29 == fVar26" identifier == identifier) )))) ;) (if_statement "if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }" if (parenthesized_expression "(iVar12 < iVar18)" ( (binary_expression "iVar12 < iVar18" identifier < identifier) )) (compound_statement "{\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }" { (expression_statement "fVar25 = 0.0;" (assignment_expression "fVar25 = 0.0" identifier = number_literal) ;) (goto_statement "goto LAB_001feeb4;" goto statement_identifier ;) })) }) (else_clause "else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }" else (compound_statement "{\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }" { (expression_statement "uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );" (assignment_expression "uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               )" identifier = (call_expression "(uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               )" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               )" ( (binary_expression "*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29" (pointer_expression "*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4)" * (cast_expression "(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4)" ( (binary_expression "iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4" identifier + (binary_expression "(iVar22 + *(int *)(iVar14 + 0x44)) * 4" (parenthesized_expression "(iVar22 + *(int *)(iVar14 + 0x44))" ( (binary_expression "iVar22 + *(int *)(iVar14 + 0x44)" identifier + (pointer_expression "*(int *)(iVar14 + 0x44)" * (cast_expression "(int *)(iVar14 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x44)" ( (binary_expression "iVar14 + 0x44" identifier + number_literal) ))))) )) * number_literal)) )))) == identifier) )))) ;) (if_statement "if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }" if (parenthesized_expression "(iVar12 < iVar18)" ( (binary_expression "iVar12 < iVar18" identifier < identifier) )) (compound_statement "{\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }" { (expression_statement "fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);" (assignment_expression "fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4)" identifier = (pointer_expression "*(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4)" * (cast_expression "(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4)" ( (binary_expression "iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4" identifier + (binary_expression "(iVar12 + *(int *)(iVar14 + 0x44)) * 4" (parenthesized_expression "(iVar12 + *(int *)(iVar14 + 0x44))" ( (binary_expression "iVar12 + *(int *)(iVar14 + 0x44)" identifier + (pointer_expression "*(int *)(iVar14 + 0x44)" * (cast_expression "(int *)(iVar14 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x44)" ( (binary_expression "iVar14 + 0x44" identifier + number_literal) ))))) )) * number_literal)) ))))) ;) (labeled_statement "LAB_001feeb4:\n                  uVar16 = 8;" statement_identifier : (expression_statement "uVar16 = 8;" (assignment_expression "uVar16 = 8" identifier = number_literal) ;)) (if_statement "if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }" if (parenthesized_expression "(fVar29 != fVar25)" ( (binary_expression "fVar29 != fVar25" identifier != identifier) )) (compound_statement "{\n                    uVar16 = 0;\n                  }" { (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) })) (expression_statement "uVar17 = uVar16 | uVar17;" (assignment_expression "uVar17 = uVar16 | uVar17" identifier = (binary_expression "uVar16 | uVar17" identifier | identifier)) ;) })) }))) (if_statement "if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }" { (expression_statement "fVar25 = 0.0;" (assignment_expression "fVar25 = 0.0" identifier = number_literal) ;) (if_statement "if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }" { (expression_statement "fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);" (assignment_expression "fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4)" identifier = (pointer_expression "*(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4)" * (cast_expression "(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4)" ( (binary_expression "iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4" identifier + (binary_expression "(*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4" (parenthesized_expression "(*(int *)(iVar14 + 0x44) + iVar18 + iVar22)" ( (binary_expression "*(int *)(iVar14 + 0x44) + iVar18 + iVar22" (binary_expression "*(int *)(iVar14 + 0x44) + iVar18" (pointer_expression "*(int *)(iVar14 + 0x44)" * (cast_expression "(int *)(iVar14 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x44)" ( (binary_expression "iVar14 + 0x44" identifier + number_literal) )))) + identifier) + identifier) )) * number_literal)) ))))) ;) })) (expression_statement "uVar16 = (uint)(char)uVar17;" (assignment_expression "uVar16 = (uint)(char)uVar17" identifier = (cast_expression "(uint)(char)uVar17" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar17" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (if_statement "if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }" if (parenthesized_expression "(fVar29 == fVar25)" ( (binary_expression "fVar29 == fVar25" identifier == identifier) )) (compound_statement "{\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }" { (expression_statement "uVar16 = uVar16 | 2;" (assignment_expression "uVar16 = uVar16 | 2" identifier = (binary_expression "uVar16 | 2" identifier | number_literal)) ;) (expression_statement "uVar17 = uVar16;" (assignment_expression "uVar17 = uVar16" identifier = identifier) ;) })) (if_statement "if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }" if (parenthesized_expression "(iVar18 <= iVar12)" ( (binary_expression "iVar18 <= iVar12" identifier <= identifier) )) (compound_statement "{\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }" { (if_statement "if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }" if (parenthesized_expression "(puVar20 != (undefined1 *)0x2)" ( (binary_expression "puVar20 != (undefined1 *)0x2" identifier != (cast_expression "(undefined1 *)0x2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }" { (expression_statement "iVar9 = iVar18 * 2 + iVar22;" (assignment_expression "iVar9 = iVar18 * 2 + iVar22" identifier = (binary_expression "iVar18 * 2 + iVar22" (binary_expression "iVar18 * 2" identifier * number_literal) + identifier)) ;) (if_statement "if (iVar15 != 0) goto LAB_001fef54;" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001fef54;" goto statement_identifier ;)) (labeled_statement "LAB_001ff08c:\n                    fVar25 = 0.0;" statement_identifier : (expression_statement "fVar25 = 0.0;" (assignment_expression "fVar25 = 0.0" identifier = number_literal) ;)) (goto_statement "goto LAB_001fef68;" goto statement_identifier ;) })) }) (else_clause "else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }" else (compound_statement "{\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }" { (expression_statement "fVar25 = 0.0;" (assignment_expression "fVar25 = 0.0" identifier = number_literal) ;) (if_statement "if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }" { (expression_statement "fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;" (assignment_expression "fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)" identifier = (pointer_expression "*(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)" * (cast_expression "(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)" ( (binary_expression "iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4" identifier + (binary_expression "(*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4" (parenthesized_expression "(*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1)" ( (binary_expression "*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1" (binary_expression "*(int *)(iVar14 + 0x44) + iVar18 + iVar22" (binary_expression "*(int *)(iVar14 + 0x44) + iVar18" (pointer_expression "*(int *)(iVar14 + 0x44)" * (cast_expression "(int *)(iVar14 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x44)" ( (binary_expression "iVar14 + 0x44" identifier + number_literal) )))) + identifier) + identifier) + number_literal) )) * number_literal)) ))))) ;) })) (if_statement "if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }" if (parenthesized_expression "(fVar29 == fVar25)" ( (binary_expression "fVar29 == fVar25" identifier == identifier) )) (compound_statement "{\n                    uVar17 = uVar16 | 0x10;\n                  }" { (expression_statement "uVar17 = uVar16 | 0x10;" (assignment_expression "uVar17 = uVar16 | 0x10" identifier = (binary_expression "uVar16 | 0x10" identifier | number_literal)) ;) })) (if_statement "if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }" if (parenthesized_expression "(puVar20 != (undefined1 *)0x2)" ( (binary_expression "puVar20 != (undefined1 *)0x2" identifier != (cast_expression "(undefined1 *)0x2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }" { (expression_statement "iVar9 = iVar18 * 2 + iVar22;" (assignment_expression "iVar9 = iVar18 * 2 + iVar22" identifier = (binary_expression "iVar18 * 2 + iVar22" (binary_expression "iVar18 * 2" identifier * number_literal) + identifier)) ;) (if_statement "if (iVar15 == 0) goto LAB_001ff08c;" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001ff08c;" goto statement_identifier ;)) (labeled_statement "LAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);" statement_identifier : (expression_statement "fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);" (assignment_expression "fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4)" identifier = (pointer_expression "*(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4)" * (cast_expression "(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4)" ( (binary_expression "iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4" identifier + (binary_expression "(iVar9 + *(int *)(iVar14 + 0x44)) * 4" (parenthesized_expression "(iVar9 + *(int *)(iVar14 + 0x44))" ( (binary_expression "iVar9 + *(int *)(iVar14 + 0x44)" identifier + (pointer_expression "*(int *)(iVar14 + 0x44)" * (cast_expression "(int *)(iVar14 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x44)" ( (binary_expression "iVar14 + 0x44" identifier + number_literal) ))))) )) * number_literal)) ))))) ;)) (labeled_statement "LAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;" statement_identifier : (expression_statement "uVar16 = (uint)(char)uVar17;" (assignment_expression "uVar16 = (uint)(char)uVar17" identifier = (cast_expression "(uint)(char)uVar17" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar17" ( (type_descriptor "char" primitive_type) ) identifier))) ;)) (if_statement "if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }" if (parenthesized_expression "(fVar29 == fVar25)" ( (binary_expression "fVar29 == fVar25" identifier == identifier) )) (compound_statement "{\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }" { (expression_statement "uVar17 = uVar16 | 4;" (assignment_expression "uVar17 = uVar16 | 4" identifier = (binary_expression "uVar16 | 4" identifier | number_literal)) ;) (expression_statement "uVar16 = uVar17;" (assignment_expression "uVar16 = uVar17" identifier = identifier) ;) })) (if_statement "if (iVar18 <= iVar12) goto LAB_001febe8;" if (parenthesized_expression "(iVar18 <= iVar12)" ( (binary_expression "iVar18 <= iVar12" identifier <= identifier) )) (goto_statement "goto LAB_001febe8;" goto statement_identifier ;)) (expression_statement "fVar26 = 0.0;" (assignment_expression "fVar26 = 0.0" identifier = number_literal) ;) (if_statement "if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }" { (expression_statement "fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);" (assignment_expression "fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4)" identifier = (pointer_expression "*(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4)" * (cast_expression "(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4)" ( (binary_expression "iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4" identifier + (binary_expression "(*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4" (parenthesized_expression "(*(int *)(iVar14 + 0x44) + iVar9 + 1)" ( (binary_expression "*(int *)(iVar14 + 0x44) + iVar9 + 1" (binary_expression "*(int *)(iVar14 + 0x44) + iVar9" (pointer_expression "*(int *)(iVar14 + 0x44)" * (cast_expression "(int *)(iVar14 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x44)" ( (binary_expression "iVar14 + 0x44" identifier + number_literal) )))) + identifier) + number_literal) )) * number_literal)) ))))) ;) })) (if_statement "if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }" if (parenthesized_expression "(fVar29 == fVar26)" ( (binary_expression "fVar29 == fVar26" identifier == identifier) )) (compound_statement "{\n                      uVar17 = uVar16 | 0x20;\n                    }" { (expression_statement "uVar17 = uVar16 | 0x20;" (assignment_expression "uVar17 = uVar16 | 0x20" identifier = (binary_expression "uVar16 | 0x20" identifier | number_literal)) ;) })) (if_statement "if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }" if (parenthesized_expression "(puVar20 != (undefined1 *)0x3)" ( (binary_expression "puVar20 != (undefined1 *)0x3" identifier != (cast_expression "(undefined1 *)0x3" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }" { (labeled_statement "LAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;" statement_identifier : (expression_statement "iVar9 = iVar18 * 3 + iVar22;" (assignment_expression "iVar9 = iVar18 * 3 + iVar22" identifier = (binary_expression "iVar18 * 3 + iVar22" (binary_expression "iVar18 * 3" identifier * number_literal) + identifier)) ;)) (if_statement "if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n                        fVar26 = 0.0;\n                      }" { (expression_statement "fVar26 = 0.0;" (assignment_expression "fVar26 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }" else (compound_statement "{\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }" { (expression_statement "fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);" (assignment_expression "fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4)" identifier = (pointer_expression "*(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4)" * (cast_expression "(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4)" ( (binary_expression "iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4" identifier + (binary_expression "(iVar9 + *(int *)(iVar14 + 0x44)) * 4" (parenthesized_expression "(iVar9 + *(int *)(iVar14 + 0x44))" ( (binary_expression "iVar9 + *(int *)(iVar14 + 0x44)" identifier + (pointer_expression "*(int *)(iVar14 + 0x44)" * (cast_expression "(int *)(iVar14 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x44)" ( (binary_expression "iVar14 + 0x44" identifier + number_literal) ))))) )) * number_literal)) ))))) ;) }))) (expression_statement "uVar16 = (uint)(char)uVar17;" (assignment_expression "uVar16 = (uint)(char)uVar17" identifier = (cast_expression "(uint)(char)uVar17" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar17" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (if_statement "if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }" if (parenthesized_expression "(fVar29 == fVar26)" ( (binary_expression "fVar29 == fVar26" identifier == identifier) )) (compound_statement "{\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }" { (expression_statement "uVar17 = uVar16 | 0x40;" (assignment_expression "uVar17 = uVar16 | 0x40" identifier = (binary_expression "uVar16 | 0x40" identifier | number_literal)) ;) (expression_statement "uVar16 = uVar17;" (assignment_expression "uVar16 = uVar17" identifier = identifier) ;) })) (if_statement "if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }" if (parenthesized_expression "(iVar12 < iVar18)" ( (binary_expression "iVar12 < iVar18" identifier < identifier) )) (compound_statement "{\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }" { (expression_statement "fVar26 = 0.0;" (assignment_expression "fVar26 = 0.0" identifier = number_literal) ;) (if_statement "if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }" { (expression_statement "fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);" (assignment_expression "fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4)" identifier = (pointer_expression "*(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4)" * (cast_expression "(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4)" ( (binary_expression "iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4" identifier + (binary_expression "(*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4" (parenthesized_expression "(*(int *)(iVar14 + 0x44) + iVar9 + 1)" ( (binary_expression "*(int *)(iVar14 + 0x44) + iVar9 + 1" (binary_expression "*(int *)(iVar14 + 0x44) + iVar9" (pointer_expression "*(int *)(iVar14 + 0x44)" * (cast_expression "(int *)(iVar14 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x44)" ( (binary_expression "iVar14 + 0x44" identifier + number_literal) )))) + identifier) + number_literal) )) * number_literal)) ))))) ;) })) (if_statement "if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }" if (parenthesized_expression "(fVar29 == fVar26)" ( (binary_expression "fVar29 == fVar26" identifier == identifier) )) (compound_statement "{\n                          uVar17 = uVar16 | 0x80;\n                        }" { (expression_statement "uVar17 = uVar16 | 0x80;" (assignment_expression "uVar17 = uVar16 | 0x80" identifier = (binary_expression "uVar16 | 0x80" identifier | number_literal)) ;) })) })) })) })) }))) })) (labeled_statement "LAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;" statement_identifier : (if_statement "if (!bVar5) goto LAB_001fec3c;" if (parenthesized_expression "(!bVar5)" ( (unary_expression "!bVar5" ! identifier) )) (goto_statement "goto LAB_001fec3c;" goto statement_identifier ;))) (labeled_statement "LAB_001fedf4:\n              local_1040 = 0xe2;" statement_identifier : (expression_statement "local_1040 = 0xe2;" (assignment_expression "local_1040 = 0xe2" identifier = number_literal) ;)) (expression_statement "local_103f = (byte)(uVar17 >> 6) | 0xa0;" (assignment_expression "local_103f = (byte)(uVar17 >> 6) | 0xa0" identifier = (binary_expression "(byte)(uVar17 >> 6) | 0xa0" (call_expression "(byte)(uVar17 >> 6)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar17 >> 6)" ( (binary_expression "uVar17 >> 6" identifier >> number_literal) ))) | number_literal)) ;) (expression_statement "local_103e = (byte)uVar17 & 0x3f | 0x80;" (assignment_expression "local_103e = (byte)uVar17 & 0x3f | 0x80" identifier = (binary_expression "(byte)uVar17 & 0x3f | 0x80" (binary_expression "(byte)uVar17 & 0x3f" (cast_expression "(byte)uVar17" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) | number_literal)) ;) (expression_statement "(*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);" (call_expression "(*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040)" (parenthesized_expression "(*(code *)PTR_WriteBlob_003a9994)" ( (pointer_expression "*(code *)PTR_WriteBlob_003a9994" * (cast_expression "(code *)PTR_WriteBlob_003a9994" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,3,&local_1040)" ( identifier , number_literal , (pointer_expression "&local_1040" & identifier) ))) ;) }) (else_clause "else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }" else (compound_statement "{\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }" { (expression_statement "iVar15 = *(int *)(iVar14 + 0x14);" (assignment_expression "iVar15 = *(int *)(iVar14 + 0x14)" identifier = (pointer_expression "*(int *)(iVar14 + 0x14)" * (cast_expression "(int *)(iVar14 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x14)" ( (binary_expression "iVar14 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;" (assignment_expression "bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26" identifier = (binary_expression "*(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26" (pointer_expression "*(float *)(iVar7 + (iVar15 + iVar22) * 4)" * (cast_expression "(float *)(iVar7 + (iVar15 + iVar22) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + (iVar15 + iVar22) * 4)" ( (binary_expression "iVar7 + (iVar15 + iVar22) * 4" identifier + (binary_expression "(iVar15 + iVar22) * 4" (parenthesized_expression "(iVar15 + iVar22)" ( (binary_expression "iVar15 + iVar22" identifier + identifier) )) * number_literal)) )))) == identifier)) ;) (expression_statement "uVar17 = (uint)bVar4;" (assignment_expression "uVar17 = (uint)bVar4" identifier = (cast_expression "(uint)bVar4" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "bVar1 = iVar12 < iVar18;" (assignment_expression "bVar1 = iVar12 < iVar18" identifier = (binary_expression "iVar12 < iVar18" identifier < identifier)) ;) (if_statement "if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }" if (parenthesized_expression "(!bVar1)" ( (unary_expression "!bVar1" ! identifier) )) (compound_statement "{\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }" { (if_statement "if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }" { (expression_statement "uVar16 = (uint)bVar4;" (assignment_expression "uVar16 = (uint)bVar4" identifier = (cast_expression "(uint)bVar4" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;" if (parenthesized_expression "(*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)" ( (binary_expression "*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26" (pointer_expression "*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4)" * (cast_expression "(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4)" ( (binary_expression "iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4" (binary_expression "iVar7 + (iVar18 + iVar22) * 4" identifier + (binary_expression "(iVar18 + iVar22) * 4" (parenthesized_expression "(iVar18 + iVar22)" ( (binary_expression "iVar18 + iVar22" identifier + identifier) )) * number_literal)) + (binary_expression "iVar15 * 4" identifier * number_literal)) )))) == identifier) )) (goto_statement "goto LAB_001fed40;" goto statement_identifier ;)) (labeled_statement "LAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;" statement_identifier : (if_statement "if (bVar1) goto LAB_001feb88;" if (parenthesized_expression "(bVar1)" ( identifier )) (goto_statement "goto LAB_001feb88;" goto statement_identifier ;))) (if_statement "if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }" if (parenthesized_expression "(puVar20 != (undefined1 *)0x2)" ( (binary_expression "puVar20 != (undefined1 *)0x2" identifier != (cast_expression "(undefined1 *)0x2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }" { (if_statement "if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }" if (parenthesized_expression "(*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26)" ( (binary_expression "*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26" (pointer_expression "*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4)" * (cast_expression "(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4)" ( (binary_expression "iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4" (binary_expression "iVar7 + (iVar18 * 2 + iVar22) * 4" identifier + (binary_expression "(iVar18 * 2 + iVar22) * 4" (parenthesized_expression "(iVar18 * 2 + iVar22)" ( (binary_expression "iVar18 * 2 + iVar22" (binary_expression "iVar18 * 2" identifier * number_literal) + identifier) )) * number_literal)) + (binary_expression "iVar15 * 4" identifier * number_literal)) )))) == identifier) )) (compound_statement "{\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }" { (expression_statement "uVar17 = (int)(char)uVar17 | 4;" (assignment_expression "uVar17 = (int)(char)uVar17 | 4" identifier = (binary_expression "(int)(char)uVar17 | 4" (cast_expression "(int)(char)uVar17" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)uVar17" ( (type_descriptor "char" primitive_type) ) identifier)) | number_literal)) ;) })) (goto_statement "goto LAB_001febe8;" goto statement_identifier ;) })) })) (goto_statement "goto LAB_001fec34;" goto statement_identifier ;) })) (expression_statement "uVar16 = 8;" (assignment_expression "uVar16 = 8" identifier = number_literal) ;) (if_statement "if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }" if (parenthesized_expression "(*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26)" ( (binary_expression "*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26" (pointer_expression "*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4)" * (cast_expression "(float *)(iVar7 + iVar12 * 4 + iVar15 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + iVar12 * 4 + iVar15 * 4)" ( (binary_expression "iVar7 + iVar12 * 4 + iVar15 * 4" (binary_expression "iVar7 + iVar12 * 4" identifier + (binary_expression "iVar12 * 4" identifier * number_literal)) + (binary_expression "iVar15 * 4" identifier * number_literal)) )))) != identifier) )) (compound_statement "{\n                uVar16 = 0;\n              }" { (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) })) (expression_statement "uVar17 = uVar16 | uVar17;" (assignment_expression "uVar17 = uVar16 | uVar17" identifier = (binary_expression "uVar16 | uVar17" identifier | identifier)) ;) (if_statement "if (bVar2) goto LAB_001fec34;" if (parenthesized_expression "(bVar2)" ( identifier )) (goto_statement "goto LAB_001fec34;" goto statement_identifier ;)) (expression_statement "uVar16 = uVar17;" (assignment_expression "uVar16 = uVar17" identifier = identifier) ;) (if_statement "if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }" if (parenthesized_expression "(*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)" ( (binary_expression "*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26" (pointer_expression "*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4)" * (cast_expression "(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4)" ( (binary_expression "iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4" (binary_expression "iVar7 + (iVar18 + iVar22) * 4" identifier + (binary_expression "(iVar18 + iVar22) * 4" (parenthesized_expression "(iVar18 + iVar22)" ( (binary_expression "iVar18 + iVar22" identifier + identifier) )) * number_literal)) + (binary_expression "iVar15 * 4" identifier * number_literal)) )))) == identifier) )) (compound_statement "{\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }" { (labeled_statement "LAB_001fed40:\n                uVar17 = uVar16 | 2;" statement_identifier : (expression_statement "uVar17 = uVar16 | 2;" (assignment_expression "uVar17 = uVar16 | 2" identifier = (binary_expression "uVar16 | 2" identifier | number_literal)) ;)) (expression_statement "uVar16 = uVar17;" (assignment_expression "uVar16 = uVar17" identifier = identifier) ;) (goto_statement "goto LAB_001fed48;" goto statement_identifier ;) })) (labeled_statement "LAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }" statement_identifier : (if_statement "if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }" if (parenthesized_expression "(*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26)" ( (binary_expression "*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26" (pointer_expression "*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4)" * (cast_expression "(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4)" ( (binary_expression "iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4" (binary_expression "iVar7 + (iVar18 + iVar22 + 1) * 4" identifier + (binary_expression "(iVar18 + iVar22 + 1) * 4" (parenthesized_expression "(iVar18 + iVar22 + 1)" ( (binary_expression "iVar18 + iVar22 + 1" (binary_expression "iVar18 + iVar22" identifier + identifier) + number_literal) )) * number_literal)) + (binary_expression "iVar15 * 4" identifier * number_literal)) )))) == identifier) )) (compound_statement "{\n                uVar17 = uVar16 | 0x10;\n              }" { (expression_statement "uVar17 = uVar16 | 0x10;" (assignment_expression "uVar17 = uVar16 | 0x10" identifier = (binary_expression "uVar16 | 0x10" identifier | number_literal)) ;) }))) (if_statement "if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;" if (parenthesized_expression "(puVar20 == (undefined1 *)0x2)" ( (binary_expression "puVar20 == (undefined1 *)0x2" identifier == (cast_expression "(undefined1 *)0x2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001fec34;" goto statement_identifier ;)) (expression_statement "iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;" (assignment_expression "iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4" identifier = (binary_expression "iVar7 + (iVar18 * 2 + iVar22) * 4" identifier + (binary_expression "(iVar18 * 2 + iVar22) * 4" (parenthesized_expression "(iVar18 * 2 + iVar22)" ( (binary_expression "iVar18 * 2 + iVar22" (binary_expression "iVar18 * 2" identifier * number_literal) + identifier) )) * number_literal))) ;) (expression_statement "uVar16 = (uint)(char)uVar17;" (assignment_expression "uVar16 = (uint)(char)uVar17" identifier = (cast_expression "(uint)(char)uVar17" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar17" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (if_statement "if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }" if (parenthesized_expression "((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1))" ( (binary_expression "(*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)" (parenthesized_expression "(*(float *)(iVar9 + iVar15 * 4) == fVar26)" ( (binary_expression "*(float *)(iVar9 + iVar15 * 4) == fVar26" (pointer_expression "*(float *)(iVar9 + iVar15 * 4)" * (cast_expression "(float *)(iVar9 + iVar15 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + iVar15 * 4)" ( (binary_expression "iVar9 + iVar15 * 4" identifier + (binary_expression "iVar15 * 4" identifier * number_literal)) )))) == identifier) )) && (parenthesized_expression "(uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)" ( (comma_expression "uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1" (assignment_expression "uVar17 = uVar16 | 4" identifier = (binary_expression "uVar16 | 4" identifier | number_literal)) , (comma_expression "uVar16 = uVar17, !bVar1" (assignment_expression "uVar16 = uVar17" identifier = identifier) , (unary_expression "!bVar1" ! identifier))) ))) )) (compound_statement "{\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }" { (labeled_statement "LAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }" statement_identifier : (if_statement "if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }" if (parenthesized_expression "(puVar20 != (undefined1 *)0x3)" ( (binary_expression "puVar20 != (undefined1 *)0x3" identifier != (cast_expression "(undefined1 *)0x3" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }" { (if_statement "if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }" if (parenthesized_expression "(*param_2 == 2)" ( (binary_expression "*param_2 == 2" (pointer_expression "*param_2" * identifier) == number_literal) )) (compound_statement "{\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }" { (expression_statement "iVar15 = *(int *)(iVar14 + 0x40);" (assignment_expression "iVar15 = *(int *)(iVar14 + 0x40)" identifier = (pointer_expression "*(int *)(iVar14 + 0x40)" * (cast_expression "(int *)(iVar14 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x40)" ( (binary_expression "iVar14 + 0x40" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_001fefc0;" goto statement_identifier ;) })) (expression_statement "iVar15 = *(int *)(iVar14 + 0x14) * 4;" (assignment_expression "iVar15 = *(int *)(iVar14 + 0x14) * 4" identifier = (binary_expression "*(int *)(iVar14 + 0x14) * 4" (pointer_expression "*(int *)(iVar14 + 0x14)" * (cast_expression "(int *)(iVar14 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x14)" ( (binary_expression "iVar14 + 0x14" identifier + number_literal) )))) * number_literal)) ;) (expression_statement "iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;" (assignment_expression "iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4" identifier = (binary_expression "iVar7 + (iVar18 * 3 + iVar22) * 4" identifier + (binary_expression "(iVar18 * 3 + iVar22) * 4" (parenthesized_expression "(iVar18 * 3 + iVar22)" ( (binary_expression "iVar18 * 3 + iVar22" (binary_expression "iVar18 * 3" identifier * number_literal) + identifier) )) * number_literal))) ;) (expression_statement "uVar16 = (uint)(char)uVar17;" (assignment_expression "uVar16 = (uint)(char)uVar17" identifier = (cast_expression "(uint)(char)uVar17" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar17" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (if_statement "if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;" if (parenthesized_expression "(*(float *)(iVar14 + iVar15) == fVar26)" ( (binary_expression "*(float *)(iVar14 + iVar15) == fVar26" (pointer_expression "*(float *)(iVar14 + iVar15)" * (cast_expression "(float *)(iVar14 + iVar15)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + iVar15)" ( (binary_expression "iVar14 + iVar15" identifier + identifier) )))) == identifier) )) (goto_statement "goto LAB_001fec28;" goto statement_identifier ;)) }))) (goto_statement "goto LAB_001fec34;" goto statement_identifier ;) })) (expression_statement "iVar15 = iVar15 * 4;" (assignment_expression "iVar15 = iVar15 * 4" identifier = (binary_expression "iVar15 * 4" identifier * number_literal)) ;) (if_statement "if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }" if (parenthesized_expression "(*(float *)(iVar9 + iVar15 + 4) == fVar26)" ( (binary_expression "*(float *)(iVar9 + iVar15 + 4) == fVar26" (pointer_expression "*(float *)(iVar9 + iVar15 + 4)" * (cast_expression "(float *)(iVar9 + iVar15 + 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + iVar15 + 4)" ( (binary_expression "iVar9 + iVar15 + 4" (binary_expression "iVar9 + iVar15" identifier + identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n                uVar17 = uVar16 | 0x20;\n              }" { (expression_statement "uVar17 = uVar16 | 0x20;" (assignment_expression "uVar17 = uVar16 | 0x20" identifier = (binary_expression "uVar16 | 0x20" identifier | number_literal)) ;) })) (if_statement "if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;" if (parenthesized_expression "(puVar20 == (undefined1 *)0x3)" ( (binary_expression "puVar20 == (undefined1 *)0x3" identifier == (cast_expression "(undefined1 *)0x3" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001fec34;" goto statement_identifier ;)) (expression_statement "iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;" (assignment_expression "iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4" identifier = (binary_expression "iVar7 + (iVar18 * 3 + iVar22) * 4" identifier + (binary_expression "(iVar18 * 3 + iVar22) * 4" (parenthesized_expression "(iVar18 * 3 + iVar22)" ( (binary_expression "iVar18 * 3 + iVar22" (binary_expression "iVar18 * 3" identifier * number_literal) + identifier) )) * number_literal))) ;) (expression_statement "uVar16 = (uint)(char)uVar17;" (assignment_expression "uVar16 = (uint)(char)uVar17" identifier = (cast_expression "(uint)(char)uVar17" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar17" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (if_statement "if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }" if (parenthesized_expression "(*(float *)(iVar14 + iVar15) == fVar26)" ( (binary_expression "*(float *)(iVar14 + iVar15) == fVar26" (pointer_expression "*(float *)(iVar14 + iVar15)" * (cast_expression "(float *)(iVar14 + iVar15)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + iVar15)" ( (binary_expression "iVar14 + iVar15" identifier + identifier) )))) == identifier) )) (compound_statement "{\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }" { (labeled_statement "LAB_001fec28:\n                uVar16 = uVar16 | 0x40;" statement_identifier : (expression_statement "uVar16 = uVar16 | 0x40;" (assignment_expression "uVar16 = uVar16 | 0x40" identifier = (binary_expression "uVar16 | 0x40" identifier | number_literal)) ;)) (expression_statement "uVar17 = uVar16;" (assignment_expression "uVar17 = uVar16" identifier = identifier) ;) (if_statement "if (iVar18 <= iVar12) goto LAB_001fec34;" if (parenthesized_expression "(iVar18 <= iVar12)" ( (binary_expression "iVar18 <= iVar12" identifier <= identifier) )) (goto_statement "goto LAB_001fec34;" goto statement_identifier ;)) })) (if_statement "if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;" if (parenthesized_expression "(*(float *)(iVar14 + iVar15 + 4) != fVar26)" ( (binary_expression "*(float *)(iVar14 + iVar15 + 4) != fVar26" (pointer_expression "*(float *)(iVar14 + iVar15 + 4)" * (cast_expression "(float *)(iVar14 + iVar15 + 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + iVar15 + 4)" ( (binary_expression "iVar14 + iVar15 + 4" (binary_expression "iVar14 + iVar15" identifier + identifier) + number_literal) )))) != identifier) )) (goto_statement "goto LAB_001fec34;" goto statement_identifier ;)) (expression_statement "uVar17 = uVar16 | 0x80;" (assignment_expression "uVar17 = uVar16 | 0x80" identifier = (binary_expression "uVar16 | 0x80" identifier | number_literal)) ;) (if_statement "if (bVar5) goto LAB_001fedf4;" if (parenthesized_expression "(bVar5)" ( identifier )) (goto_statement "goto LAB_001fedf4;" goto statement_identifier ;)) (labeled_statement "LAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }" statement_identifier : (if_statement "if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }" if (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }" { (expression_statement "(*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);" (call_expression "(*(code *)PTR_WriteBlobByte_003a8fdc)(param_2)" (parenthesized_expression "(*(code *)PTR_WriteBlobByte_003a8fdc)" ( (pointer_expression "*(code *)PTR_WriteBlobByte_003a8fdc" * (cast_expression "(code *)PTR_WriteBlobByte_003a8fdc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2)" ( identifier ))) ;) }) (else_clause "else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }" else (compound_statement "{\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }" { (expression_statement "(*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);" (call_expression "(*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50])" (parenthesized_expression "(*(code *)PTR_WriteBlobByte_003a8fdc)" ( (pointer_expression "*(code *)PTR_WriteBlobByte_003a8fdc" * (cast_expression "(code *)PTR_WriteBlobByte_003a8fdc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,puVar10[uVar17 + 0xa50])" ( identifier , (subscript_expression "puVar10[uVar17 + 0xa50]" identifier [ (binary_expression "uVar17 + 0xa50" identifier + number_literal) ]) ))) ;) })))) }))) (expression_statement "iVar18 = param_2[6];" (assignment_expression "iVar18 = param_2[6]" identifier = (subscript_expression "param_2[6]" identifier [ number_literal ])) ;) (expression_statement "iVar22 = iVar22 + 2;" (assignment_expression "iVar22 = iVar22 + 2" identifier = (binary_expression "iVar22 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar22 < iVar18)" ( (binary_expression "iVar22 < iVar18" identifier < identifier) )) ;) })) (if_statement "if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }" if (parenthesized_expression "(!bVar3)" ( (unary_expression "!bVar3" ! identifier) )) (compound_statement "{\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }" { (expression_statement "(*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);" (call_expression "(*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10)" (parenthesized_expression "(*(code *)PTR_WriteBlobByte_003a8fdc)" ( (pointer_expression "*(code *)PTR_WriteBlobByte_003a8fdc" * (cast_expression "(code *)PTR_WriteBlobByte_003a8fdc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,10)" ( identifier , number_literal ))) ;) })) (expression_statement "puVar13 = puVar21;" (assignment_expression "puVar13 = puVar21" identifier = identifier) ;) (expression_statement "iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7]);" (assignment_expression "iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7])" identifier = (call_expression "(*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7])" (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 "(param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7])" ( identifier , identifier , (binary_expression "(int)puVar21 >> 0x1f" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) , identifier , number_literal , (subscript_expression "param_2[7]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar11 = (undefined1 *)param_2[7];" (assignment_expression "puVar11 = (undefined1 *)param_2[7]" identifier = (cast_expression "(undefined1 *)param_2[7]" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[7]" identifier [ number_literal ]))) ;) (expression_statement "puVar21 = puVar21 + (int)puVar20;" (assignment_expression "puVar21 = puVar21 + (int)puVar20" identifier = (binary_expression "puVar21 + (int)puVar20" identifier + (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar19 = puVar21 + (int)puVar20;" (assignment_expression "puVar19 = puVar21 + (int)puVar20" identifier = (binary_expression "puVar21 + (int)puVar20" identifier + (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) while (parenthesized_expression "((int)puVar21 < (int)puVar11)" ( (binary_expression "(int)puVar21 < (int)puVar11" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(param_2);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(param_2)" (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 "(param_2)" ( identifier ))) ;) (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;) })) (if_statement "if (local_3c == *(int *)puVar6) {\n    return iVar7;\n  }" if (parenthesized_expression "(local_3c == *(int *)puVar6)" ( (binary_expression "local_3c == *(int *)puVar6" identifier == (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return iVar7;\n  }" { (return_statement "return iVar7;" return identifier ;) })) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" * (cast_expression "(code *)PTR___stack_chk_fail_003a9064" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_001ff384:\n  iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                    (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + 0x978,0xf4,puVar13 + 0xaa4);" statement_identifier : (expression_statement "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                    (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + 0x978,0xf4,puVar13 + 0xaa4);" (assignment_expression "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                    (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + 0x978,0xf4,puVar13 + 0xaa4)" identifier = (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                    (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + 0x978,0xf4,puVar13 + 0xaa4)" (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_s_courses_003a88ec + 0x978,0xf4,puVar13 + 0xaa4)" ( (binary_expression "PTR_LAB_003a88e0 + 0x294c" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + 0x978" identifier + number_literal) , number_literal , (binary_expression "puVar13 + 0xaa4" identifier + number_literal) )))) ;)) (return_statement "return iVar7;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression 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 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 ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) )))) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_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 = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( 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) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (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) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) }))) (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 ( 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 == (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 ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) )))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (goto_statement goto statement_identifier ;)) (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 , IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (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 , (binary_expression IDENT + LIT) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (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 ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_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 ( IDENT , LIT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (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 (subscript_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 ( IDENT , LIT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 , LIT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 , LIT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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) ))) ;) })) (expression_statement (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 (pointer_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 , (subscript_expression IDENT [ LIT ]) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == 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 , (subscript_expression IDENT [ LIT ]) ))))) ;) (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 , (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (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 = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT)))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_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 , LIT , IDENT , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 IDENT == IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression 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 < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) * LIT)) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | IDENT)) ;) })) }))) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) + IDENT) )) * LIT)) ))))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (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 <= IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * LIT) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) + IDENT) + LIT) )) * LIT)) ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * LIT) + 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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) * LIT)) ))))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (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 <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) + LIT) )) * LIT)) ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) })) (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 = (binary_expression (binary_expression IDENT * LIT) + IDENT)) ;)) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) * LIT)) ))))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (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 < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) + LIT) )) * LIT)) ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) })) })) })) })) }))) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) | LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) | LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (pointer_expression & IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT + IDENT) )) * LIT)) )))) == IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT + IDENT) )) * LIT)) + (binary_expression IDENT * LIT)) )))) == IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) + IDENT) )) * LIT)) + (binary_expression IDENT * LIT)) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) | LIT)) ;) })) (goto_statement goto statement_identifier ;) })) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + (binary_expression IDENT * LIT)) )))) != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT + IDENT) )) * LIT)) + (binary_expression IDENT * LIT)) )))) == IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )) * LIT)) + (binary_expression IDENT * LIT)) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) + IDENT) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) == IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT | LIT)) , (comma_expression (assignment_expression IDENT = IDENT) , (unary_expression ! IDENT))) ))) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (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 + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) + IDENT) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) == IDENT) )) (goto_statement goto statement_identifier ;)) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) + IDENT) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) == IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) != IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (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 , (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) ))) ;) })))) }))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = 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 , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) , IDENT , LIT , (subscript_expression IDENT [ LIT ]) )))) ;) (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 *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression 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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (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 ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) )))) ;)) (return_statement return IDENT ;) })))
(function_definition "int FUN_001fe8e0(int param_1,int *param_2,undefined *param_3)\n\n{\n  bool bVar1;\n  bool bVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  undefined *puVar6;\n  int iVar7;\n  undefined *puVar8;\n  int iVar9;\n  undefined *puVar10;\n  undefined1 *puVar11;\n  int iVar12;\n  undefined *puVar13;\n  int iVar14;\n  int iVar15;\n  uint uVar16;\n  uint uVar17;\n  int iVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined *puVar21;\n  int iVar22;\n  float fVar25;\n  float fVar26;\n  double dVar23;\n  double dVar24;\n  undefined8 uVar27;\n  ulonglong uVar28;\n  float fVar29;\n  undefined1 local_1040;\n  byte local_103f;\n  byte local_103e;\n  undefined1 auStack_103c [4096];\n  int local_3c;\n  \n  puVar6 = PTR___stack_chk_guard_003a9230;\n  local_3c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  if (param_2 == (int *)0x0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  if (param_2[0xcdb] != -0x54535255) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                       PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  iVar18 = param_1 + 0x210;\n  iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46cc);\n  if (iVar7 == 0) {\n    puVar19 = &DAT_00000004;\n    bVar5 = true;\n    bVar3 = false;\nLAB_001fe9f8:\n    iVar7 = param_2[0xcd4];\n  }\n  else {\n    iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46d4);\n    if (iVar7 != 0) {\n      iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc);\n      if (iVar7 == 0) {\n        puVar19 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }\n      goto LAB_001fe9f8;\n    }\n    iVar7 = param_2[0xcd4];\n    puVar19 = (undefined1 *)0x3;\n    bVar5 = true;\n    bVar3 = false;\n  }\n  if (iVar7 != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0xd0);\n  }\n  if (param_3 == (undefined *)0x0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  puVar13 = PTR_s_courses_003a88ec;\n  if (*(int *)(param_3 + 0x1c) != -0x54535255) goto LAB_001ff384;\n  puVar13 = param_3;\n  iVar7 = (*(code *)PTR_OpenBlob_003a924c)(param_1,param_2,4,param_3);\n  if (iVar7 != 0) {\n    if (!bVar3) {\n      puVar10 = (undefined *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          );\n      if (puVar10 != (undefined *)0x0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n        puVar13 = puVar10;\n      }\n      if (param_2[0x8c] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      if (param_2[0x8d] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9a4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9b4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,PTR_s_courses_003a88ec + -0x4bdc);\n    }\n    (*(code *)PTR_SetImageType_003a9188)(param_2,1,param_3);\n    if (*param_2 == 2) {\n      dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n      uVar28 = 0;\n      if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar23) {\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n      if (param_2[9] == 2) {\n        dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n        dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58);\n        if (dVar23 < dVar24) goto LAB_001fea70;\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n    }\n    else {\nLAB_001fea70:\n      uVar28 = 0;\n    }\n    puVar10 = PTR_s_courses_003a88ec;\n    puVar11 = (undefined1 *)param_2[7];\n    if (0 < (int)puVar11) {\n      puVar21 = (undefined *)0x0;\n      puVar8 = PTR_s_courses_003a88ec + -0x15c;\n      puVar20 = puVar19;\n      do {\n        if (puVar11 < puVar19) {\n          puVar20 = puVar11 + -(int)puVar21;\n        }\n        puVar13 = (undefined *)param_2[6];\n        iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3);\n        if (iVar7 == 0) break;\n        iVar18 = param_2[6];\n        if (0 < iVar18) {\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }\n        puVar13 = puVar21;\n        iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7]);\n        if (iVar7 == 0) break;\n        puVar11 = (undefined1 *)param_2[7];\n        puVar21 = puVar21 + (int)puVar20;\n        puVar19 = puVar21 + (int)puVar20;\n      } while ((int)puVar21 < (int)puVar11);\n    }\n    (*(code *)PTR_CloseBlob_003a9688)(param_2);\n    iVar7 = 1;\n  }\n  if (local_3c == *(int *)puVar6) {\n    return iVar7;\n  }\n  (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_001ff384:\n  iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                    (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + 0x978,0xf4,puVar13 + 0xaa4);\n  return iVar7;\n}" (primitive_type "int") (function_declarator "FUN_001fe8e0(int param_1,int *param_2,undefined *param_3)" (identifier "FUN_001fe8e0") (parameter_list "(int param_1,int *param_2,undefined *param_3)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int *param_2" (primitive_type "int") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "undefined *param_3" (type_identifier "undefined") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) () ")"))) (compound_statement "{\n  bool bVar1;\n  bool bVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  undefined *puVar6;\n  int iVar7;\n  undefined *puVar8;\n  int iVar9;\n  undefined *puVar10;\n  undefined1 *puVar11;\n  int iVar12;\n  undefined *puVar13;\n  int iVar14;\n  int iVar15;\n  uint uVar16;\n  uint uVar17;\n  int iVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined *puVar21;\n  int iVar22;\n  float fVar25;\n  float fVar26;\n  double dVar23;\n  double dVar24;\n  undefined8 uVar27;\n  ulonglong uVar28;\n  float fVar29;\n  undefined1 local_1040;\n  byte local_103f;\n  byte local_103e;\n  undefined1 auStack_103c [4096];\n  int local_3c;\n  \n  puVar6 = PTR___stack_chk_guard_003a9230;\n  local_3c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  if (param_2 == (int *)0x0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  if (param_2[0xcdb] != -0x54535255) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                       PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  iVar18 = param_1 + 0x210;\n  iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46cc);\n  if (iVar7 == 0) {\n    puVar19 = &DAT_00000004;\n    bVar5 = true;\n    bVar3 = false;\nLAB_001fe9f8:\n    iVar7 = param_2[0xcd4];\n  }\n  else {\n    iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46d4);\n    if (iVar7 != 0) {\n      iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc);\n      if (iVar7 == 0) {\n        puVar19 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }\n      goto LAB_001fe9f8;\n    }\n    iVar7 = param_2[0xcd4];\n    puVar19 = (undefined1 *)0x3;\n    bVar5 = true;\n    bVar3 = false;\n  }\n  if (iVar7 != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0xd0);\n  }\n  if (param_3 == (undefined *)0x0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }\n  puVar13 = PTR_s_courses_003a88ec;\n  if (*(int *)(param_3 + 0x1c) != -0x54535255) goto LAB_001ff384;\n  puVar13 = param_3;\n  iVar7 = (*(code *)PTR_OpenBlob_003a924c)(param_1,param_2,4,param_3);\n  if (iVar7 != 0) {\n    if (!bVar3) {\n      puVar10 = (undefined *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          );\n      if (puVar10 != (undefined *)0x0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n        puVar13 = puVar10;\n      }\n      if (param_2[0x8c] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      if (param_2[0x8d] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9a4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9b4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,PTR_s_courses_003a88ec + -0x4bdc);\n    }\n    (*(code *)PTR_SetImageType_003a9188)(param_2,1,param_3);\n    if (*param_2 == 2) {\n      dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n      uVar28 = 0;\n      if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar23) {\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n      if (param_2[9] == 2) {\n        dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n        dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58);\n        if (dVar23 < dVar24) goto LAB_001fea70;\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n    }\n    else {\nLAB_001fea70:\n      uVar28 = 0;\n    }\n    puVar10 = PTR_s_courses_003a88ec;\n    puVar11 = (undefined1 *)param_2[7];\n    if (0 < (int)puVar11) {\n      puVar21 = (undefined *)0x0;\n      puVar8 = PTR_s_courses_003a88ec + -0x15c;\n      puVar20 = puVar19;\n      do {\n        if (puVar11 < puVar19) {\n          puVar20 = puVar11 + -(int)puVar21;\n        }\n        puVar13 = (undefined *)param_2[6];\n        iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3);\n        if (iVar7 == 0) break;\n        iVar18 = param_2[6];\n        if (0 < iVar18) {\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }\n        puVar13 = puVar21;\n        iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7]);\n        if (iVar7 == 0) break;\n        puVar11 = (undefined1 *)param_2[7];\n        puVar21 = puVar21 + (int)puVar20;\n        puVar19 = puVar21 + (int)puVar20;\n      } while ((int)puVar21 < (int)puVar11);\n    }\n    (*(code *)PTR_CloseBlob_003a9688)(param_2);\n    iVar7 = 1;\n  }\n  if (local_3c == *(int *)puVar6) {\n    return iVar7;\n  }\n  (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_001ff384:\n  iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                    (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + 0x978,0xf4,puVar13 + 0xaa4);\n  return iVar7;\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "bool bVar2;" (primitive_type "bool") (identifier "bVar2") (; ";")) (declaration "bool bVar3;" (primitive_type "bool") (identifier "bVar3") (; ";")) (declaration "bool bVar4;" (primitive_type "bool") (identifier "bVar4") (; ";")) (declaration "bool bVar5;" (primitive_type "bool") (identifier "bVar5") (; ";")) (declaration "undefined *puVar6;" (type_identifier "undefined") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "undefined *puVar8;" (type_identifier "undefined") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "undefined *puVar10;" (type_identifier "undefined") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "undefined1 *puVar11;" (type_identifier "undefined1") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "undefined *puVar13;" (type_identifier "undefined") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "uint uVar16;" (type_identifier "uint") (identifier "uVar16") (; ";")) (declaration "uint uVar17;" (type_identifier "uint") (identifier "uVar17") (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "undefined1 *puVar19;" (type_identifier "undefined1") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "undefined1 *puVar20;" (type_identifier "undefined1") (pointer_declarator "*puVar20" (* "*") (identifier "puVar20")) (; ";")) (declaration "undefined *puVar21;" (type_identifier "undefined") (pointer_declarator "*puVar21" (* "*") (identifier "puVar21")) (; ";")) (declaration "int iVar22;" (primitive_type "int") (identifier "iVar22") (; ";")) (declaration "float fVar25;" (primitive_type "float") (identifier "fVar25") (; ";")) (declaration "float fVar26;" (primitive_type "float") (identifier "fVar26") (; ";")) (declaration "double dVar23;" (primitive_type "double") (identifier "dVar23") (; ";")) (declaration "double dVar24;" (primitive_type "double") (identifier "dVar24") (; ";")) (declaration "undefined8 uVar27;" (type_identifier "undefined8") (identifier "uVar27") (; ";")) (declaration "ulonglong uVar28;" (type_identifier "ulonglong") (identifier "uVar28") (; ";")) (declaration "float fVar29;" (primitive_type "float") (identifier "fVar29") (; ";")) (declaration "undefined1 local_1040;" (type_identifier "undefined1") (identifier "local_1040") (; ";")) (declaration "byte local_103f;" (type_identifier "byte") (identifier "local_103f") (; ";")) (declaration "byte local_103e;" (type_identifier "byte") (identifier "local_103e") (; ";")) (declaration "undefined1 auStack_103c [4096];" (type_identifier "undefined1") (array_declarator "auStack_103c [4096]" (identifier "auStack_103c") ([ "[") (number_literal "4096") (] "]")) (; ";")) (declaration "int local_3c;" (primitive_type "int") (identifier "local_3c") (; ";")) (expression_statement "puVar6 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar6 = PTR___stack_chk_guard_003a9230" (identifier "puVar6") (= "=") (identifier "PTR___stack_chk_guard_003a9230")) (; ";")) (expression_statement "local_3c = *(int *)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_3c = *(int *)PTR___stack_chk_guard_003a9230" (identifier "local_3c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_003a9230" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_003a9230" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_003a9230")))) (; ";")) (if_statement "if (param_1 == 0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }" ({ "{") (expression_statement "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,\n                       PTR_s_courses_003a88ec + 0xaa4);" (assignment_expression "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,\n                       PTR_s_courses_003a88ec + 0xaa4)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,\n                       PTR_s_courses_003a88ec + 0xaa4)" (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_s_courses_003a88ec + 0x978,0xdb,\n                       PTR_s_courses_003a88ec + 0xaa4)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0xd78" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0xd78")) (, ",") (binary_expression "PTR_s_courses_003a88ec + 0x978" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "0x978")) (, ",") (number_literal "0xdb") (, ",") (binary_expression "PTR_s_courses_003a88ec + 0xaa4" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "0xaa4")) () ")")))) (; ";")) (return_statement "return iVar7;" (return "return") (identifier "iVar7") (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\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    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }" ({ "{") (expression_statement "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,\n                       PTR_s_courses_003a88ec + 0xaa4);" (assignment_expression "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,\n                       PTR_s_courses_003a88ec + 0xaa4)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,\n                       PTR_s_courses_003a88ec + 0xaa4)" (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_s_courses_003a88ec + 0x978,0xdc,\n                       PTR_s_courses_003a88ec + 0xaa4)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0xda0" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0xda0")) (, ",") (binary_expression "PTR_s_courses_003a88ec + 0x978" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "0x978")) (, ",") (number_literal "0xdc") (, ",") (binary_expression "PTR_s_courses_003a88ec + 0xaa4" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "0xaa4")) () ")")))) (; ";")) (return_statement "return iVar7;" (return "return") (identifier "iVar7") (; ";")) (} "}"))) (if_statement "if (param_2 == (int *)0x0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }" (if "if") (parenthesized_expression "(param_2 == (int *)0x0)" (( "(") (binary_expression "param_2 == (int *)0x0" (identifier "param_2") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }" ({ "{") (expression_statement "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                       PTR_s_courses_003a88ec + 0xaa4);" (assignment_expression "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                       PTR_s_courses_003a88ec + 0xaa4)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                       PTR_s_courses_003a88ec + 0xaa4)" (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 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,\n                       PTR_s_courses_003a88ec + 0xaa4)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0xdd0" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0xdd0")) (, ",") (binary_expression "PTR_s_courses_003a88ec + 0x978" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "0x978")) (, ",") (number_literal "0xdd") (, ",") (binary_expression "PTR_s_courses_003a88ec + 0xaa4" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "0xaa4")) () ")")))) (; ";")) (return_statement "return iVar7;" (return "return") (identifier "iVar7") (; ";")) (} "}"))) (if_statement "if (param_2[0xcdb] != -0x54535255) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                       PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }" (if "if") (parenthesized_expression "(param_2[0xcdb] != -0x54535255)" (( "(") (binary_expression "param_2[0xcdb] != -0x54535255" (subscript_expression "param_2[0xcdb]" (identifier "param_2") ([ "[") (number_literal "0xcdb") (] "]")) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                       PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }" ({ "{") (expression_statement "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                       PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4);" (assignment_expression "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                       PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                      (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                       PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003a9608" (* "*") (cast_expression "(code *)PTR___assert_fail_003a9608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003a9608"))) () ")")) (argument_list "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                       PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4)" (( "(") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "-0x3784")) (, ",") (binary_expression "PTR_s_courses_003a88ec + 0x978" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "0x978")) (, ",") (number_literal "0xde") (, ",") (binary_expression "PTR_s_courses_003a88ec + 0xaa4" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "0xaa4")) () ")")))) (; ";")) (return_statement "return iVar7;" (return "return") (identifier "iVar7") (; ";")) (} "}"))) (expression_statement "iVar18 = param_1 + 0x210;" (assignment_expression "iVar18 = param_1 + 0x210" (identifier "iVar18") (= "=") (binary_expression "param_1 + 0x210" (identifier "param_1") (+ "+") (number_literal "0x210"))) (; ";")) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46cc);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46cc)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46cc)" (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 "(iVar18,PTR_LAB_003a88e0 + 0x46cc)" (( "(") (identifier "iVar18") (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x46cc" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x46cc")) () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n    puVar19 = &DAT_00000004;\n    bVar5 = true;\n    bVar3 = false;\nLAB_001fe9f8:\n    iVar7 = param_2[0xcd4];\n  }\n  else {\n    iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46d4);\n    if (iVar7 != 0) {\n      iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc);\n      if (iVar7 == 0) {\n        puVar19 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }\n      goto LAB_001fe9f8;\n    }\n    iVar7 = param_2[0xcd4];\n    puVar19 = (undefined1 *)0x3;\n    bVar5 = true;\n    bVar3 = false;\n  }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    puVar19 = &DAT_00000004;\n    bVar5 = true;\n    bVar3 = false;\nLAB_001fe9f8:\n    iVar7 = param_2[0xcd4];\n  }" ({ "{") (expression_statement "puVar19 = &DAT_00000004;" (assignment_expression "puVar19 = &DAT_00000004" (identifier "puVar19") (= "=") (pointer_expression "&DAT_00000004" (& "&") (identifier "DAT_00000004"))) (; ";")) (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" (identifier "bVar5") (= "=") (true "true")) (; ";")) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" (identifier "bVar3") (= "=") (false "false")) (; ";")) (labeled_statement "LAB_001fe9f8:\n    iVar7 = param_2[0xcd4];" (statement_identifier "LAB_001fe9f8") (: ":") (expression_statement "iVar7 = param_2[0xcd4];" (assignment_expression "iVar7 = param_2[0xcd4]" (identifier "iVar7") (= "=") (subscript_expression "param_2[0xcd4]" (identifier "param_2") ([ "[") (number_literal "0xcd4") (] "]"))) (; ";"))) (} "}")) (else_clause "else {\n    iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46d4);\n    if (iVar7 != 0) {\n      iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc);\n      if (iVar7 == 0) {\n        puVar19 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }\n      goto LAB_001fe9f8;\n    }\n    iVar7 = param_2[0xcd4];\n    puVar19 = (undefined1 *)0x3;\n    bVar5 = true;\n    bVar3 = false;\n  }" (else "else") (compound_statement "{\n    iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46d4);\n    if (iVar7 != 0) {\n      iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc);\n      if (iVar7 == 0) {\n        puVar19 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }\n      goto LAB_001fe9f8;\n    }\n    iVar7 = param_2[0xcd4];\n    puVar19 = (undefined1 *)0x3;\n    bVar5 = true;\n    bVar3 = false;\n  }" ({ "{") (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46d4);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46d4)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46d4)" (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 "(iVar18,PTR_LAB_003a88e0 + 0x46d4)" (( "(") (identifier "iVar18") (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x46d4" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x46d4")) () ")")))) (; ";")) (if_statement "if (iVar7 != 0) {\n      iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc);\n      if (iVar7 == 0) {\n        puVar19 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }\n      goto LAB_001fe9f8;\n    }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc);\n      if (iVar7 == 0) {\n        puVar19 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }\n      goto LAB_001fe9f8;\n    }" ({ "{") (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc)" (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 "(iVar18,PTR_LAB_003a88e0 + 0x46dc)" (( "(") (identifier "iVar18") (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x46dc" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x46dc")) () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n        puVar19 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }\n      else {\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        puVar19 = &DAT_00000004;\n        bVar3 = true;\n        bVar5 = false;\n      }" ({ "{") (expression_statement "puVar19 = &DAT_00000004;" (assignment_expression "puVar19 = &DAT_00000004" (identifier "puVar19") (= "=") (pointer_expression "&DAT_00000004" (& "&") (identifier "DAT_00000004"))) (; ";")) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" (identifier "bVar3") (= "=") (true "true")) (; ";")) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" (identifier "bVar5") (= "=") (false "false")) (; ";")) (} "}")) (else_clause "else {\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }" (else "else") (compound_statement "{\n        puVar19 = (undefined1 *)0x3;\n        bVar5 = false;\n        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);\n        bVar3 = iVar7 == 0;\n      }" ({ "{") (expression_statement "puVar19 = (undefined1 *)0x3;" (assignment_expression "puVar19 = (undefined1 *)0x3" (identifier "puVar19") (= "=") (cast_expression "(undefined1 *)0x3" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) (; ";")) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" (identifier "bVar5") (= "=") (false "false")) (; ";")) (expression_statement "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);" (assignment_expression "iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4)" (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 "(iVar18,PTR_LAB_003a88e0 + 0x46e4)" (( "(") (identifier "iVar18") (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x46e4" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x46e4")) () ")")))) (; ";")) (expression_statement "bVar3 = iVar7 == 0;" (assignment_expression "bVar3 = iVar7 == 0" (identifier "bVar3") (= "=") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0"))) (; ";")) (} "}")))) (goto_statement "goto LAB_001fe9f8;" (goto "goto") (statement_identifier "LAB_001fe9f8") (; ";")) (} "}"))) (expression_statement "iVar7 = param_2[0xcd4];" (assignment_expression "iVar7 = param_2[0xcd4]" (identifier "iVar7") (= "=") (subscript_expression "param_2[0xcd4]" (identifier "param_2") ([ "[") (number_literal "0xcd4") (] "]"))) (; ";")) (expression_statement "puVar19 = (undefined1 *)0x3;" (assignment_expression "puVar19 = (undefined1 *)0x3" (identifier "puVar19") (= "=") (cast_expression "(undefined1 *)0x3" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) (; ";")) (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" (identifier "bVar5") (= "=") (true "true")) (; ";")) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" (identifier "bVar3") (= "=") (false "false")) (; ";")) (} "}")))) (if_statement "if (iVar7 != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0xd0);\n  }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0xd0);\n  }" ({ "{") (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0xd0);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0xd0)" (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_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0xd0)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "PTR_s_courses_003a88ec + 0x978" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "0x978")) (, ",") (binary_expression "PTR_s_courses_003a88ec + 0xa90" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "0xa90")) (, ",") (number_literal "0xf2") (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x62ac")) (, ",") (binary_expression "param_2 + 0xd0" (identifier "param_2") (+ "+") (number_literal "0xd0")) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_3 == (undefined *)0x0) {\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }" (if "if") (parenthesized_expression "(param_3 == (undefined *)0x0)" (( "(") (binary_expression "param_3 == (undefined *)0x0" (identifier "param_3") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,\n                       PTR_s_courses_003a88ec + 0xaa4);\n    return iVar7;\n  }" ({ "{") (expression_statement "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,\n                       PTR_s_courses_003a88ec + 0xaa4);" (assignment_expression "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,\n                       PTR_s_courses_003a88ec + 0xaa4)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,\n                       PTR_s_courses_003a88ec + 0xaa4)" (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_s_courses_003a88ec + 0x978,0xf3,\n                       PTR_s_courses_003a88ec + 0xaa4)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x1cac" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1cac")) (, ",") (binary_expression "PTR_s_courses_003a88ec + 0x978" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "0x978")) (, ",") (number_literal "0xf3") (, ",") (binary_expression "PTR_s_courses_003a88ec + 0xaa4" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "0xaa4")) () ")")))) (; ";")) (return_statement "return iVar7;" (return "return") (identifier "iVar7") (; ";")) (} "}"))) (expression_statement "puVar13 = PTR_s_courses_003a88ec;" (assignment_expression "puVar13 = PTR_s_courses_003a88ec" (identifier "puVar13") (= "=") (identifier "PTR_s_courses_003a88ec")) (; ";")) (if_statement "if (*(int *)(param_3 + 0x1c) != -0x54535255) goto LAB_001ff384;" (if "if") (parenthesized_expression "(*(int *)(param_3 + 0x1c) != -0x54535255)" (( "(") (binary_expression "*(int *)(param_3 + 0x1c) != -0x54535255" (pointer_expression "*(int *)(param_3 + 0x1c)" (* "*") (cast_expression "(int *)(param_3 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x1c)" (( "(") (binary_expression "param_3 + 0x1c" (identifier "param_3") (+ "+") (number_literal "0x1c")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (goto_statement "goto LAB_001ff384;" (goto "goto") (statement_identifier "LAB_001ff384") (; ";"))) (expression_statement "puVar13 = param_3;" (assignment_expression "puVar13 = param_3" (identifier "puVar13") (= "=") (identifier "param_3")) (; ";")) (expression_statement "iVar7 = (*(code *)PTR_OpenBlob_003a924c)(param_1,param_2,4,param_3);" (assignment_expression "iVar7 = (*(code *)PTR_OpenBlob_003a924c)(param_1,param_2,4,param_3)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_OpenBlob_003a924c)(param_1,param_2,4,param_3)" (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,param_2,4,param_3)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (number_literal "4") (, ",") (identifier "param_3") () ")")))) (; ";")) (if_statement "if (iVar7 != 0) {\n    if (!bVar3) {\n      puVar10 = (undefined *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          );\n      if (puVar10 != (undefined *)0x0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n        puVar13 = puVar10;\n      }\n      if (param_2[0x8c] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      if (param_2[0x8d] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9a4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9b4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,PTR_s_courses_003a88ec + -0x4bdc);\n    }\n    (*(code *)PTR_SetImageType_003a9188)(param_2,1,param_3);\n    if (*param_2 == 2) {\n      dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n      uVar28 = 0;\n      if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar23) {\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n      if (param_2[9] == 2) {\n        dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n        dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58);\n        if (dVar23 < dVar24) goto LAB_001fea70;\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n    }\n    else {\nLAB_001fea70:\n      uVar28 = 0;\n    }\n    puVar10 = PTR_s_courses_003a88ec;\n    puVar11 = (undefined1 *)param_2[7];\n    if (0 < (int)puVar11) {\n      puVar21 = (undefined *)0x0;\n      puVar8 = PTR_s_courses_003a88ec + -0x15c;\n      puVar20 = puVar19;\n      do {\n        if (puVar11 < puVar19) {\n          puVar20 = puVar11 + -(int)puVar21;\n        }\n        puVar13 = (undefined *)param_2[6];\n        iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3);\n        if (iVar7 == 0) break;\n        iVar18 = param_2[6];\n        if (0 < iVar18) {\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }\n        puVar13 = puVar21;\n        iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7]);\n        if (iVar7 == 0) break;\n        puVar11 = (undefined1 *)param_2[7];\n        puVar21 = puVar21 + (int)puVar20;\n        puVar19 = puVar21 + (int)puVar20;\n      } while ((int)puVar21 < (int)puVar11);\n    }\n    (*(code *)PTR_CloseBlob_003a9688)(param_2);\n    iVar7 = 1;\n  }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (!bVar3) {\n      puVar10 = (undefined *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          );\n      if (puVar10 != (undefined *)0x0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n        puVar13 = puVar10;\n      }\n      if (param_2[0x8c] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      if (param_2[0x8d] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9a4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9b4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,PTR_s_courses_003a88ec + -0x4bdc);\n    }\n    (*(code *)PTR_SetImageType_003a9188)(param_2,1,param_3);\n    if (*param_2 == 2) {\n      dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n      uVar28 = 0;\n      if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar23) {\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n      if (param_2[9] == 2) {\n        dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n        dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58);\n        if (dVar23 < dVar24) goto LAB_001fea70;\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n    }\n    else {\nLAB_001fea70:\n      uVar28 = 0;\n    }\n    puVar10 = PTR_s_courses_003a88ec;\n    puVar11 = (undefined1 *)param_2[7];\n    if (0 < (int)puVar11) {\n      puVar21 = (undefined *)0x0;\n      puVar8 = PTR_s_courses_003a88ec + -0x15c;\n      puVar20 = puVar19;\n      do {\n        if (puVar11 < puVar19) {\n          puVar20 = puVar11 + -(int)puVar21;\n        }\n        puVar13 = (undefined *)param_2[6];\n        iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3);\n        if (iVar7 == 0) break;\n        iVar18 = param_2[6];\n        if (0 < iVar18) {\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }\n        puVar13 = puVar21;\n        iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7]);\n        if (iVar7 == 0) break;\n        puVar11 = (undefined1 *)param_2[7];\n        puVar21 = puVar21 + (int)puVar20;\n        puVar19 = puVar21 + (int)puVar20;\n      } while ((int)puVar21 < (int)puVar11);\n    }\n    (*(code *)PTR_CloseBlob_003a9688)(param_2);\n    iVar7 = 1;\n  }" ({ "{") (if_statement "if (!bVar3) {\n      puVar10 = (undefined *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          );\n      if (puVar10 != (undefined *)0x0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n        puVar13 = puVar10;\n      }\n      if (param_2[0x8c] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      if (param_2[0x8d] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9a4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9b4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,PTR_s_courses_003a88ec + -0x4bdc);\n    }" (if "if") (parenthesized_expression "(!bVar3)" (( "(") (unary_expression "!bVar3" (! "!") (identifier "bVar3")) () ")")) (compound_statement "{\n      puVar10 = (undefined *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          );\n      if (puVar10 != (undefined *)0x0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n        puVar13 = puVar10;\n      }\n      if (param_2[0x8c] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      if (param_2[0x8d] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9a4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9b4)\n      ;\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,PTR_s_courses_003a88ec + -0x4bdc);\n    }" ({ "{") (expression_statement "puVar10 = (undefined *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          );" (assignment_expression "puVar10 = (undefined *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          )" (identifier "puVar10") (= "=") (cast_expression "(undefined *)\n                (*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          )" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_GetImageProperty_003a93fc)\n                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          )" (parenthesized_expression "(*(code *)PTR_GetImageProperty_003a93fc)" (( "(") (pointer_expression "*(code *)PTR_GetImageProperty_003a93fc" (* "*") (cast_expression "(code *)PTR_GetImageProperty_003a93fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetImageProperty_003a93fc"))) () ")")) (argument_list "(param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3\n                          )" (( "(") (identifier "param_2") (, ",") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "-0x1920")) (, ",") (identifier "param_3") () ")"))))) (; ";")) (if_statement "if (puVar10 != (undefined *)0x0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n        puVar13 = puVar10;\n      }" (if "if") (parenthesized_expression "(puVar10 != (undefined *)0x0)" (( "(") (binary_expression "puVar10 != (undefined *)0x0" (identifier "puVar10") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n        puVar13 = puVar10;\n      }" ({ "{") (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10);" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)" (( "(") (pointer_expression "*(code *)PTR_FormatLocaleString_003a8d7c" (* "*") (cast_expression "(code *)PTR_FormatLocaleString_003a8d7c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FormatLocaleString_003a8d7c"))) () ")")) (argument_list "(auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,\n                   puVar10)" (( "(") (identifier "auStack_103c") (, ",") (number_literal "0x1000") (, ",") (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4" (identifier "PTR_s_pixels_3_def_____currentfile_byt_003a894c") (+ "+") (number_literal "-0x1bb4")) (, ",") (identifier "puVar10") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);" (call_expression "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c)" (parenthesized_expression "(*(code *)PTR_WriteBlobString_003a95a8)" (( "(") (pointer_expression "*(code *)PTR_WriteBlobString_003a95a8" (* "*") (cast_expression "(code *)PTR_WriteBlobString_003a95a8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_WriteBlobString_003a95a8"))) () ")")) (argument_list "(param_2,auStack_103c)" (( "(") (identifier "param_2") (, ",") (identifier "auStack_103c") () ")"))) (; ";")) (expression_statement "puVar13 = puVar10;" (assignment_expression "puVar13 = puVar10" (identifier "puVar13") (= "=") (identifier "puVar10")) (; ";")) (} "}"))) (if_statement "if (param_2[0x8c] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }" (if "if") (parenthesized_expression "(param_2[0x8c] != 0)" (( "(") (binary_expression "param_2[0x8c] != 0" (subscript_expression "param_2[0x8c]" (identifier "param_2") ([ "[") (number_literal "0x8c") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }" ({ "{") (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c);" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)" (( "(") (pointer_expression "*(code *)PTR_FormatLocaleString_003a8d7c" (* "*") (cast_expression "(code *)PTR_FormatLocaleString_003a8d7c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FormatLocaleString_003a8d7c"))) () ")")) (argument_list "(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c)" (( "(") (identifier "auStack_103c") (, ",") (number_literal "0x1000") (, ",") (binary_expression "PTR_s_courses_003a88ec + 0x98c" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "0x98c")) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);" (call_expression "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c)" (parenthesized_expression "(*(code *)PTR_WriteBlobString_003a95a8)" (( "(") (pointer_expression "*(code *)PTR_WriteBlobString_003a95a8" (* "*") (cast_expression "(code *)PTR_WriteBlobString_003a95a8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_WriteBlobString_003a95a8"))) () ")")) (argument_list "(param_2,auStack_103c)" (( "(") (identifier "param_2") (, ",") (identifier "auStack_103c") () ")"))) (; ";")) (} "}"))) (if_statement "if (param_2[0x8d] != 0) {\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }" (if "if") (parenthesized_expression "(param_2[0x8d] != 0)" (( "(") (binary_expression "param_2[0x8d] != 0" (subscript_expression "param_2[0x8d]" (identifier "param_2") ([ "[") (number_literal "0x8d") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998);\n        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);\n      }" ({ "{") (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998);" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)" (( "(") (pointer_expression "*(code *)PTR_FormatLocaleString_003a8d7c" (* "*") (cast_expression "(code *)PTR_FormatLocaleString_003a8d7c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FormatLocaleString_003a8d7c"))) () ")")) (argument_list "(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998)" (( "(") (identifier "auStack_103c") (, ",") (number_literal "0x1000") (, ",") (binary_expression "PTR_s_courses_003a88ec + 0x998" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "0x998")) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);" (call_expression "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c)" (parenthesized_expression "(*(code *)PTR_WriteBlobString_003a95a8)" (( "(") (pointer_expression "*(code *)PTR_WriteBlobString_003a95a8" (* "*") (cast_expression "(code *)PTR_WriteBlobString_003a95a8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_WriteBlobString_003a95a8"))) () ")")) (argument_list "(param_2,auStack_103c)" (( "(") (identifier "param_2") (, ",") (identifier "auStack_103c") () ")"))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9a4)\n      ;" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9a4)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)" (( "(") (pointer_expression "*(code *)PTR_FormatLocaleString_003a8d7c" (* "*") (cast_expression "(code *)PTR_FormatLocaleString_003a8d7c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FormatLocaleString_003a8d7c"))) () ")")) (argument_list "(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9a4)" (( "(") (identifier "auStack_103c") (, ",") (number_literal "0x1000") (, ",") (binary_expression "PTR_s_courses_003a88ec + 0x9a4" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "0x9a4")) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);" (call_expression "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c)" (parenthesized_expression "(*(code *)PTR_WriteBlobString_003a95a8)" (( "(") (pointer_expression "*(code *)PTR_WriteBlobString_003a95a8" (* "*") (cast_expression "(code *)PTR_WriteBlobString_003a95a8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_WriteBlobString_003a95a8"))) () ")")) (argument_list "(param_2,auStack_103c)" (( "(") (identifier "param_2") (, ",") (identifier "auStack_103c") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9b4)\n      ;" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9b4)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)" (( "(") (pointer_expression "*(code *)PTR_FormatLocaleString_003a8d7c" (* "*") (cast_expression "(code *)PTR_FormatLocaleString_003a8d7c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FormatLocaleString_003a8d7c"))) () ")")) (argument_list "(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9b4)" (( "(") (identifier "auStack_103c") (, ",") (number_literal "0x1000") (, ",") (binary_expression "PTR_s_courses_003a88ec + 0x9b4" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "0x9b4")) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);" (call_expression "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c)" (parenthesized_expression "(*(code *)PTR_WriteBlobString_003a95a8)" (( "(") (pointer_expression "*(code *)PTR_WriteBlobString_003a95a8" (* "*") (cast_expression "(code *)PTR_WriteBlobString_003a95a8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_WriteBlobString_003a95a8"))) () ")")) (argument_list "(param_2,auStack_103c)" (( "(") (identifier "param_2") (, ",") (identifier "auStack_103c") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,PTR_s_courses_003a88ec + -0x4bdc);" (call_expression "(*(code *)PTR_WriteBlobString_003a95a8)(param_2,PTR_s_courses_003a88ec + -0x4bdc)" (parenthesized_expression "(*(code *)PTR_WriteBlobString_003a95a8)" (( "(") (pointer_expression "*(code *)PTR_WriteBlobString_003a95a8" (* "*") (cast_expression "(code *)PTR_WriteBlobString_003a95a8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_WriteBlobString_003a95a8"))) () ")")) (argument_list "(param_2,PTR_s_courses_003a88ec + -0x4bdc)" (( "(") (identifier "param_2") (, ",") (binary_expression "PTR_s_courses_003a88ec + -0x4bdc" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "-0x4bdc")) () ")"))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_SetImageType_003a9188)(param_2,1,param_3);" (call_expression "(*(code *)PTR_SetImageType_003a9188)(param_2,1,param_3)" (parenthesized_expression "(*(code *)PTR_SetImageType_003a9188)" (( "(") (pointer_expression "*(code *)PTR_SetImageType_003a9188" (* "*") (cast_expression "(code *)PTR_SetImageType_003a9188" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_SetImageType_003a9188"))) () ")")) (argument_list "(param_2,1,param_3)" (( "(") (identifier "param_2") (, ",") (number_literal "1") (, ",") (identifier "param_3") () ")"))) (; ";")) (if_statement "if (*param_2 == 2) {\n      dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n      uVar28 = 0;\n      if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar23) {\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n      if (param_2[9] == 2) {\n        dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n        dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58);\n        if (dVar23 < dVar24) goto LAB_001fea70;\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n    }\n    else {\nLAB_001fea70:\n      uVar28 = 0;\n    }" (if "if") (parenthesized_expression "(*param_2 == 2)" (( "(") (binary_expression "*param_2 == 2" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n      uVar28 = 0;\n      if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar23) {\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n      if (param_2[9] == 2) {\n        dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n        dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58);\n        if (dVar23 < dVar24) goto LAB_001fea70;\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }\n    }" ({ "{") (expression_statement "dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);" (assignment_expression "dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10])" (identifier "dVar23") (= "=") (cast_expression "(double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10])" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10])" (parenthesized_expression "(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)" (( "(") (pointer_expression "*(code *)PTR_GetPixelInfoIntensity_003a8ea4" (* "*") (cast_expression "(code *)PTR_GetPixelInfoIntensity_003a8ea4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetPixelInfoIntensity_003a8ea4"))) () ")")) (argument_list "(param_2,param_2[10])" (( "(") (identifier "param_2") (, ",") (subscript_expression "param_2[10]" (identifier "param_2") ([ "[") (number_literal "10") (] "]")) () ")"))))) (; ";")) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" (identifier "uVar28") (= "=") (number_literal "0")) (; ";")) (if_statement "if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar23) {\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }" (if "if") (parenthesized_expression "(*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar23)" (( "(") (binary_expression "*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar23" (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1ad0)" (* "*") (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1ad0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1ad0)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x1ad0" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1ad0")) () ")")))) (<= "<=") (identifier "dVar23")) () ")")) (compound_statement "{\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }" ({ "{") (expression_statement "uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);" (assignment_expression "uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" (identifier "uVar28") (= "=") (binary_expression "(ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (* "*") (cast_expression "(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" (( "(") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "-0x5a8c")) () ")"))))) (; ";")) (} "}"))) (if_statement "if (param_2[9] == 2) {\n        dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n        dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58);\n        if (dVar23 < dVar24) goto LAB_001fea70;\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }" (if "if") (parenthesized_expression "(param_2[9] == 2)" (( "(") (binary_expression "param_2[9] == 2" (subscript_expression "param_2[9]" (identifier "param_2") ([ "[") (number_literal "9") (] "]")) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n        dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);\n        dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58);\n        if (dVar23 < dVar24) goto LAB_001fea70;\n        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);\n      }" ({ "{") (expression_statement "dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);" (assignment_expression "dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10])" (identifier "dVar23") (= "=") (cast_expression "(double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10])" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10])" (parenthesized_expression "(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)" (( "(") (pointer_expression "*(code *)PTR_GetPixelInfoIntensity_003a8ea4" (* "*") (cast_expression "(code *)PTR_GetPixelInfoIntensity_003a8ea4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetPixelInfoIntensity_003a8ea4"))) () ")")) (argument_list "(param_2,param_2[10])" (( "(") (identifier "param_2") (, ",") (subscript_expression "param_2[10]" (identifier "param_2") ([ "[") (number_literal "10") (] "]")) () ")"))))) (; ";")) (expression_statement "dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58);" (assignment_expression "dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58)" (identifier "dVar24") (= "=") (cast_expression "(double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58)" (parenthesized_expression "(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)" (( "(") (pointer_expression "*(code *)PTR_GetPixelInfoIntensity_003a8ea4" (* "*") (cast_expression "(code *)PTR_GetPixelInfoIntensity_003a8ea4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetPixelInfoIntensity_003a8ea4"))) () ")")) (argument_list "(param_2,param_2[10] + 0x58)" (( "(") (identifier "param_2") (, ",") (binary_expression "param_2[10] + 0x58" (subscript_expression "param_2[10]" (identifier "param_2") ([ "[") (number_literal "10") (] "]")) (+ "+") (number_literal "0x58")) () ")"))))) (; ";")) (if_statement "if (dVar23 < dVar24) goto LAB_001fea70;" (if "if") (parenthesized_expression "(dVar23 < dVar24)" (( "(") (binary_expression "dVar23 < dVar24" (identifier "dVar23") (< "<") (identifier "dVar24")) () ")")) (goto_statement "goto LAB_001fea70;" (goto "goto") (statement_identifier "LAB_001fea70") (; ";"))) (expression_statement "uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);" (assignment_expression "uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" (identifier "uVar28") (= "=") (binary_expression "(ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (* "*") (cast_expression "(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c)" (( "(") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "-0x5a8c")) () ")"))))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\nLAB_001fea70:\n      uVar28 = 0;\n    }" (else "else") (compound_statement "{\nLAB_001fea70:\n      uVar28 = 0;\n    }" ({ "{") (labeled_statement "LAB_001fea70:\n      uVar28 = 0;" (statement_identifier "LAB_001fea70") (: ":") (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" (identifier "uVar28") (= "=") (number_literal "0")) (; ";"))) (} "}")))) (expression_statement "puVar10 = PTR_s_courses_003a88ec;" (assignment_expression "puVar10 = PTR_s_courses_003a88ec" (identifier "puVar10") (= "=") (identifier "PTR_s_courses_003a88ec")) (; ";")) (expression_statement "puVar11 = (undefined1 *)param_2[7];" (assignment_expression "puVar11 = (undefined1 *)param_2[7]" (identifier "puVar11") (= "=") (cast_expression "(undefined1 *)param_2[7]" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[7]" (identifier "param_2") ([ "[") (number_literal "7") (] "]")))) (; ";")) (if_statement "if (0 < (int)puVar11) {\n      puVar21 = (undefined *)0x0;\n      puVar8 = PTR_s_courses_003a88ec + -0x15c;\n      puVar20 = puVar19;\n      do {\n        if (puVar11 < puVar19) {\n          puVar20 = puVar11 + -(int)puVar21;\n        }\n        puVar13 = (undefined *)param_2[6];\n        iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3);\n        if (iVar7 == 0) break;\n        iVar18 = param_2[6];\n        if (0 < iVar18) {\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }\n        puVar13 = puVar21;\n        iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7]);\n        if (iVar7 == 0) break;\n        puVar11 = (undefined1 *)param_2[7];\n        puVar21 = puVar21 + (int)puVar20;\n        puVar19 = puVar21 + (int)puVar20;\n      } while ((int)puVar21 < (int)puVar11);\n    }" (if "if") (parenthesized_expression "(0 < (int)puVar11)" (( "(") (binary_expression "0 < (int)puVar11" (number_literal "0") (< "<") (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11"))) () ")")) (compound_statement "{\n      puVar21 = (undefined *)0x0;\n      puVar8 = PTR_s_courses_003a88ec + -0x15c;\n      puVar20 = puVar19;\n      do {\n        if (puVar11 < puVar19) {\n          puVar20 = puVar11 + -(int)puVar21;\n        }\n        puVar13 = (undefined *)param_2[6];\n        iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3);\n        if (iVar7 == 0) break;\n        iVar18 = param_2[6];\n        if (0 < iVar18) {\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }\n        puVar13 = puVar21;\n        iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7]);\n        if (iVar7 == 0) break;\n        puVar11 = (undefined1 *)param_2[7];\n        puVar21 = puVar21 + (int)puVar20;\n        puVar19 = puVar21 + (int)puVar20;\n      } while ((int)puVar21 < (int)puVar11);\n    }" ({ "{") (expression_statement "puVar21 = (undefined *)0x0;" (assignment_expression "puVar21 = (undefined *)0x0" (identifier "puVar21") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "puVar8 = PTR_s_courses_003a88ec + -0x15c;" (assignment_expression "puVar8 = PTR_s_courses_003a88ec + -0x15c" (identifier "puVar8") (= "=") (binary_expression "PTR_s_courses_003a88ec + -0x15c" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "-0x15c"))) (; ";")) (expression_statement "puVar20 = puVar19;" (assignment_expression "puVar20 = puVar19" (identifier "puVar20") (= "=") (identifier "puVar19")) (; ";")) (do_statement "do {\n        if (puVar11 < puVar19) {\n          puVar20 = puVar11 + -(int)puVar21;\n        }\n        puVar13 = (undefined *)param_2[6];\n        iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3);\n        if (iVar7 == 0) break;\n        iVar18 = param_2[6];\n        if (0 < iVar18) {\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }\n        puVar13 = puVar21;\n        iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7]);\n        if (iVar7 == 0) break;\n        puVar11 = (undefined1 *)param_2[7];\n        puVar21 = puVar21 + (int)puVar20;\n        puVar19 = puVar21 + (int)puVar20;\n      } while ((int)puVar21 < (int)puVar11);" (do "do") (compound_statement "{\n        if (puVar11 < puVar19) {\n          puVar20 = puVar11 + -(int)puVar21;\n        }\n        puVar13 = (undefined *)param_2[6];\n        iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3);\n        if (iVar7 == 0) break;\n        iVar18 = param_2[6];\n        if (0 < iVar18) {\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }\n        if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }\n        puVar13 = puVar21;\n        iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7]);\n        if (iVar7 == 0) break;\n        puVar11 = (undefined1 *)param_2[7];\n        puVar21 = puVar21 + (int)puVar20;\n        puVar19 = puVar21 + (int)puVar20;\n      }" ({ "{") (if_statement "if (puVar11 < puVar19) {\n          puVar20 = puVar11 + -(int)puVar21;\n        }" (if "if") (parenthesized_expression "(puVar11 < puVar19)" (( "(") (binary_expression "puVar11 < puVar19" (identifier "puVar11") (< "<") (identifier "puVar19")) () ")")) (compound_statement "{\n          puVar20 = puVar11 + -(int)puVar21;\n        }" ({ "{") (expression_statement "puVar20 = puVar11 + -(int)puVar21;" (assignment_expression "puVar20 = puVar11 + -(int)puVar21" (identifier "puVar20") (= "=") (binary_expression "puVar11 + -(int)puVar21" (identifier "puVar11") (+ "+") (unary_expression "-(int)puVar21" (- "-") (cast_expression "(int)puVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar21"))))) (; ";")) (} "}"))) (expression_statement "puVar13 = (undefined *)param_2[6];" (assignment_expression "puVar13 = (undefined *)param_2[6]" (identifier "puVar13") (= "=") (cast_expression "(undefined *)param_2[6]" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[6]" (identifier "param_2") ([ "[") (number_literal "6") (] "]")))) (; ";")) (expression_statement "iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3);" (assignment_expression "iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3)" (parenthesized_expression "(*(code *)PTR_GetVirtualPixels_003a9764)" (( "(") (pointer_expression "*(code *)PTR_GetVirtualPixels_003a9764" (* "*") (cast_expression "(code *)PTR_GetVirtualPixels_003a9764" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetVirtualPixels_003a9764"))) () ")")) (argument_list "(param_2,0,puVar21,puVar13,puVar20,param_3)" (( "(") (identifier "param_2") (, ",") (number_literal "0") (, ",") (identifier "puVar21") (, ",") (identifier "puVar13") (, ",") (identifier "puVar20") (, ",") (identifier "param_3") () ")")))) (; ";")) (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 "iVar18 = param_2[6];" (assignment_expression "iVar18 = param_2[6]" (identifier "iVar18") (= "=") (subscript_expression "param_2[6]" (identifier "param_2") ([ "[") (number_literal "6") (] "]"))) (; ";")) (if_statement "if (0 < iVar18) {\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }" (if "if") (parenthesized_expression "(0 < iVar18)" (( "(") (binary_expression "0 < iVar18" (number_literal "0") (< "<") (identifier "iVar18")) () ")")) (compound_statement "{\n          uVar27 = 0;\n          iVar22 = 0;\n          bVar2 = puVar20 < (undefined1 *)0x2;\n          do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);\n        }" ({ "{") (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" (identifier "uVar27") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar22 = 0;" (assignment_expression "iVar22 = 0" (identifier "iVar22") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar2 = puVar20 < (undefined1 *)0x2;" (assignment_expression "bVar2 = puVar20 < (undefined1 *)0x2" (identifier "bVar2") (= "=") (binary_expression "puVar20 < (undefined1 *)0x2" (identifier "puVar20") (< "<") (cast_expression "(undefined1 *)0x2" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2")))) (; ";")) (do_statement "do {\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          } while (iVar22 < iVar18);" (do "do") (compound_statement "{\n            iVar12 = iVar22 + 1;\n            iVar14 = param_2[0xb4];\n            fVar26 = (float)uVar27;\n            fVar29 = (float)uVar28;\n            if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }\n            iVar18 = param_2[6];\n            iVar22 = iVar22 + 2;\n          }" ({ "{") (expression_statement "iVar12 = iVar22 + 1;" (assignment_expression "iVar12 = iVar22 + 1" (identifier "iVar12") (= "=") (binary_expression "iVar22 + 1" (identifier "iVar22") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar14 = param_2[0xb4];" (assignment_expression "iVar14 = param_2[0xb4]" (identifier "iVar14") (= "=") (subscript_expression "param_2[0xb4]" (identifier "param_2") ([ "[") (number_literal "0xb4") (] "]"))) (; ";")) (expression_statement "fVar26 = (float)uVar27;" (assignment_expression "fVar26 = (float)uVar27" (identifier "fVar26") (= "=") (cast_expression "(float)uVar27" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "uVar27"))) (; ";")) (expression_statement "fVar29 = (float)uVar28;" (assignment_expression "fVar29 = (float)uVar28" (identifier "fVar29") (= "=") (cast_expression "(float)uVar28" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "uVar28"))) (; ";")) (if_statement "if (*param_2 == 2) {\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }\n            else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }" (if "if") (parenthesized_expression "(*param_2 == 2)" (( "(") (binary_expression "*param_2 == 2" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n              iVar15 = *(int *)(iVar14 + 0x40);\n              if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }\n              if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\nLAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;\nLAB_001fedf4:\n              local_1040 = 0xe2;\n              local_103f = (byte)(uVar17 >> 6) | 0xa0;\n              local_103e = (byte)uVar17 & 0x3f | 0x80;\n              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);\n            }" ({ "{") (expression_statement "iVar15 = *(int *)(iVar14 + 0x40);" (assignment_expression "iVar15 = *(int *)(iVar14 + 0x40)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(iVar14 + 0x40)" (* "*") (cast_expression "(int *)(iVar14 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x40)" (( "(") (binary_expression "iVar14 + 0x40" (identifier "iVar14") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (if_statement "if (iVar15 == 0) {\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }\n              else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }" (if "if") (parenthesized_expression "(iVar15 == 0)" (( "(") (binary_expression "iVar15 == 0" (identifier "iVar15") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                uVar17 = (uint)(fVar29 == fVar26);\n                if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }\n              }" ({ "{") (expression_statement "uVar17 = (uint)(fVar29 == fVar26);" (assignment_expression "uVar17 = (uint)(fVar29 == fVar26)" (identifier "uVar17") (= "=") (call_expression "(uint)(fVar29 == fVar26)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(fVar29 == fVar26)" (( "(") (binary_expression "fVar29 == fVar26" (identifier "fVar29") (== "==") (identifier "fVar26")) () ")")))) (; ";")) (if_statement "if (iVar12 < iVar18) {\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }" (if "if") (parenthesized_expression "(iVar12 < iVar18)" (( "(") (binary_expression "iVar12 < iVar18" (identifier "iVar12") (< "<") (identifier "iVar18")) () ")")) (compound_statement "{\n                  fVar25 = 0.0;\n                  goto LAB_001feeb4;\n                }" ({ "{") (expression_statement "fVar25 = 0.0;" (assignment_expression "fVar25 = 0.0" (identifier "fVar25") (= "=") (number_literal "0.0")) (; ";")) (goto_statement "goto LAB_001feeb4;" (goto "goto") (statement_identifier "LAB_001feeb4") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }" (else "else") (compound_statement "{\n                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );\n                if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }\n              }" ({ "{") (expression_statement "uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               );" (assignment_expression "uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               )" (identifier "uVar17") (= "=") (call_expression "(uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               )" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29\n                               )" (( "(") (binary_expression "*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29" (pointer_expression "*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4)" (* "*") (cast_expression "(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4)" (( "(") (binary_expression "iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4" (identifier "iVar7") (+ "+") (binary_expression "(iVar22 + *(int *)(iVar14 + 0x44)) * 4" (parenthesized_expression "(iVar22 + *(int *)(iVar14 + 0x44))" (( "(") (binary_expression "iVar22 + *(int *)(iVar14 + 0x44)" (identifier "iVar22") (+ "+") (pointer_expression "*(int *)(iVar14 + 0x44)" (* "*") (cast_expression "(int *)(iVar14 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x44)" (( "(") (binary_expression "iVar14 + 0x44" (identifier "iVar14") (+ "+") (number_literal "0x44")) () ")"))))) () ")")) (* "*") (number_literal "4"))) () ")")))) (== "==") (identifier "fVar29")) () ")")))) (; ";")) (if_statement "if (iVar12 < iVar18) {\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }" (if "if") (parenthesized_expression "(iVar12 < iVar18)" (( "(") (binary_expression "iVar12 < iVar18" (identifier "iVar12") (< "<") (identifier "iVar18")) () ")")) (compound_statement "{\n                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001feeb4:\n                  uVar16 = 8;\n                  if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }\n                  uVar17 = uVar16 | uVar17;\n                }" ({ "{") (expression_statement "fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);" (assignment_expression "fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4)" (identifier "fVar25") (= "=") (pointer_expression "*(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4)" (* "*") (cast_expression "(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4)" (( "(") (binary_expression "iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4" (identifier "iVar7") (+ "+") (binary_expression "(iVar12 + *(int *)(iVar14 + 0x44)) * 4" (parenthesized_expression "(iVar12 + *(int *)(iVar14 + 0x44))" (( "(") (binary_expression "iVar12 + *(int *)(iVar14 + 0x44)" (identifier "iVar12") (+ "+") (pointer_expression "*(int *)(iVar14 + 0x44)" (* "*") (cast_expression "(int *)(iVar14 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x44)" (( "(") (binary_expression "iVar14 + 0x44" (identifier "iVar14") (+ "+") (number_literal "0x44")) () ")"))))) () ")")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (labeled_statement "LAB_001feeb4:\n                  uVar16 = 8;" (statement_identifier "LAB_001feeb4") (: ":") (expression_statement "uVar16 = 8;" (assignment_expression "uVar16 = 8" (identifier "uVar16") (= "=") (number_literal "8")) (; ";"))) (if_statement "if (fVar29 != fVar25) {\n                    uVar16 = 0;\n                  }" (if "if") (parenthesized_expression "(fVar29 != fVar25)" (( "(") (binary_expression "fVar29 != fVar25" (identifier "fVar29") (!= "!=") (identifier "fVar25")) () ")")) (compound_statement "{\n                    uVar16 = 0;\n                  }" ({ "{") (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" (identifier "uVar16") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "uVar17 = uVar16 | uVar17;" (assignment_expression "uVar17 = uVar16 | uVar17" (identifier "uVar17") (= "=") (binary_expression "uVar16 | uVar17" (identifier "uVar16") (| "|") (identifier "uVar17"))) (; ";")) (} "}"))) (} "}")))) (if_statement "if (!bVar2) {\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }" (if "if") (parenthesized_expression "(!bVar2)" (( "(") (unary_expression "!bVar2" (! "!") (identifier "bVar2")) () ")")) (compound_statement "{\n                fVar25 = 0.0;\n                if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }\n                uVar16 = (uint)(char)uVar17;\n                if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }\n                if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }\n              }" ({ "{") (expression_statement "fVar25 = 0.0;" (assignment_expression "fVar25 = 0.0" (identifier "fVar25") (= "=") (number_literal "0.0")) (; ";")) (if_statement "if (iVar15 != 0) {\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }" (if "if") (parenthesized_expression "(iVar15 != 0)" (( "(") (binary_expression "iVar15 != 0" (identifier "iVar15") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);\n                }" ({ "{") (expression_statement "fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);" (assignment_expression "fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4)" (identifier "fVar25") (= "=") (pointer_expression "*(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4)" (* "*") (cast_expression "(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4)" (( "(") (binary_expression "iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4" (identifier "iVar7") (+ "+") (binary_expression "(*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4" (parenthesized_expression "(*(int *)(iVar14 + 0x44) + iVar18 + iVar22)" (( "(") (binary_expression "*(int *)(iVar14 + 0x44) + iVar18 + iVar22" (binary_expression "*(int *)(iVar14 + 0x44) + iVar18" (pointer_expression "*(int *)(iVar14 + 0x44)" (* "*") (cast_expression "(int *)(iVar14 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x44)" (( "(") (binary_expression "iVar14 + 0x44" (identifier "iVar14") (+ "+") (number_literal "0x44")) () ")")))) (+ "+") (identifier "iVar18")) (+ "+") (identifier "iVar22")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (} "}"))) (expression_statement "uVar16 = (uint)(char)uVar17;" (assignment_expression "uVar16 = (uint)(char)uVar17" (identifier "uVar16") (= "=") (cast_expression "(uint)(char)uVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(char)uVar17" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar17")))) (; ";")) (if_statement "if (fVar29 == fVar25) {\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }" (if "if") (parenthesized_expression "(fVar29 == fVar25)" (( "(") (binary_expression "fVar29 == fVar25" (identifier "fVar29") (== "==") (identifier "fVar25")) () ")")) (compound_statement "{\n                  uVar16 = uVar16 | 2;\n                  uVar17 = uVar16;\n                }" ({ "{") (expression_statement "uVar16 = uVar16 | 2;" (assignment_expression "uVar16 = uVar16 | 2" (identifier "uVar16") (= "=") (binary_expression "uVar16 | 2" (identifier "uVar16") (| "|") (number_literal "2"))) (; ";")) (expression_statement "uVar17 = uVar16;" (assignment_expression "uVar17 = uVar16" (identifier "uVar17") (= "=") (identifier "uVar16")) (; ";")) (} "}"))) (if_statement "if (iVar18 <= iVar12) {\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }\n                else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }" (if "if") (parenthesized_expression "(iVar18 <= iVar12)" (( "(") (binary_expression "iVar18 <= iVar12" (identifier "iVar18") (<= "<=") (identifier "iVar12")) () ")")) (compound_statement "{\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }\n                }" ({ "{") (if_statement "if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }" (if "if") (parenthesized_expression "(puVar20 != (undefined1 *)0x2)" (( "(") (binary_expression "puVar20 != (undefined1 *)0x2" (identifier "puVar20") (!= "!=") (cast_expression "(undefined1 *)0x2" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) () ")")) (compound_statement "{\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 != 0) goto LAB_001fef54;\nLAB_001ff08c:\n                    fVar25 = 0.0;\n                    goto LAB_001fef68;\n                  }" ({ "{") (expression_statement "iVar9 = iVar18 * 2 + iVar22;" (assignment_expression "iVar9 = iVar18 * 2 + iVar22" (identifier "iVar9") (= "=") (binary_expression "iVar18 * 2 + iVar22" (binary_expression "iVar18 * 2" (identifier "iVar18") (* "*") (number_literal "2")) (+ "+") (identifier "iVar22"))) (; ";")) (if_statement "if (iVar15 != 0) goto LAB_001fef54;" (if "if") (parenthesized_expression "(iVar15 != 0)" (( "(") (binary_expression "iVar15 != 0" (identifier "iVar15") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001fef54;" (goto "goto") (statement_identifier "LAB_001fef54") (; ";"))) (labeled_statement "LAB_001ff08c:\n                    fVar25 = 0.0;" (statement_identifier "LAB_001ff08c") (: ":") (expression_statement "fVar25 = 0.0;" (assignment_expression "fVar25 = 0.0" (identifier "fVar25") (= "=") (number_literal "0.0")) (; ";"))) (goto_statement "goto LAB_001fef68;" (goto "goto") (statement_identifier "LAB_001fef68") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }" (else "else") (compound_statement "{\n                  fVar25 = 0.0;\n                  if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }\n                  if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }\n                  if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }\n                }" ({ "{") (expression_statement "fVar25 = 0.0;" (assignment_expression "fVar25 = 0.0" (identifier "fVar25") (= "=") (number_literal "0.0")) (; ";")) (if_statement "if (iVar15 != 0) {\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }" (if "if") (parenthesized_expression "(iVar15 != 0)" (( "(") (binary_expression "iVar15 != 0" (identifier "iVar15") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;\n                  }" ({ "{") (expression_statement "fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)\n                    ;" (assignment_expression "fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)" (identifier "fVar25") (= "=") (pointer_expression "*(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)" (* "*") (cast_expression "(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)" (( "(") (binary_expression "iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4" (identifier "iVar7") (+ "+") (binary_expression "(*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4" (parenthesized_expression "(*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1)" (( "(") (binary_expression "*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1" (binary_expression "*(int *)(iVar14 + 0x44) + iVar18 + iVar22" (binary_expression "*(int *)(iVar14 + 0x44) + iVar18" (pointer_expression "*(int *)(iVar14 + 0x44)" (* "*") (cast_expression "(int *)(iVar14 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x44)" (( "(") (binary_expression "iVar14 + 0x44" (identifier "iVar14") (+ "+") (number_literal "0x44")) () ")")))) (+ "+") (identifier "iVar18")) (+ "+") (identifier "iVar22")) (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (} "}"))) (if_statement "if (fVar29 == fVar25) {\n                    uVar17 = uVar16 | 0x10;\n                  }" (if "if") (parenthesized_expression "(fVar29 == fVar25)" (( "(") (binary_expression "fVar29 == fVar25" (identifier "fVar29") (== "==") (identifier "fVar25")) () ")")) (compound_statement "{\n                    uVar17 = uVar16 | 0x10;\n                  }" ({ "{") (expression_statement "uVar17 = uVar16 | 0x10;" (assignment_expression "uVar17 = uVar16 | 0x10" (identifier "uVar17") (= "=") (binary_expression "uVar16 | 0x10" (identifier "uVar16") (| "|") (number_literal "0x10"))) (; ";")) (} "}"))) (if_statement "if (puVar20 != (undefined1 *)0x2) {\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }" (if "if") (parenthesized_expression "(puVar20 != (undefined1 *)0x2)" (( "(") (binary_expression "puVar20 != (undefined1 *)0x2" (identifier "puVar20") (!= "!=") (cast_expression "(undefined1 *)0x2" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) () ")")) (compound_statement "{\n                    iVar9 = iVar18 * 2 + iVar22;\n                    if (iVar15 == 0) goto LAB_001ff08c;\nLAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\nLAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;\n                    if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }\n                    if (iVar18 <= iVar12) goto LAB_001febe8;\n                    fVar26 = 0.0;\n                    if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }\n                    if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }\n                    if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }\n                  }" ({ "{") (expression_statement "iVar9 = iVar18 * 2 + iVar22;" (assignment_expression "iVar9 = iVar18 * 2 + iVar22" (identifier "iVar9") (= "=") (binary_expression "iVar18 * 2 + iVar22" (binary_expression "iVar18 * 2" (identifier "iVar18") (* "*") (number_literal "2")) (+ "+") (identifier "iVar22"))) (; ";")) (if_statement "if (iVar15 == 0) goto LAB_001ff08c;" (if "if") (parenthesized_expression "(iVar15 == 0)" (( "(") (binary_expression "iVar15 == 0" (identifier "iVar15") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001ff08c;" (goto "goto") (statement_identifier "LAB_001ff08c") (; ";"))) (labeled_statement "LAB_001fef54:\n                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);" (statement_identifier "LAB_001fef54") (: ":") (expression_statement "fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);" (assignment_expression "fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4)" (identifier "fVar25") (= "=") (pointer_expression "*(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4)" (* "*") (cast_expression "(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4)" (( "(") (binary_expression "iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4" (identifier "iVar7") (+ "+") (binary_expression "(iVar9 + *(int *)(iVar14 + 0x44)) * 4" (parenthesized_expression "(iVar9 + *(int *)(iVar14 + 0x44))" (( "(") (binary_expression "iVar9 + *(int *)(iVar14 + 0x44)" (identifier "iVar9") (+ "+") (pointer_expression "*(int *)(iVar14 + 0x44)" (* "*") (cast_expression "(int *)(iVar14 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x44)" (( "(") (binary_expression "iVar14 + 0x44" (identifier "iVar14") (+ "+") (number_literal "0x44")) () ")"))))) () ")")) (* "*") (number_literal "4"))) () ")"))))) (; ";"))) (labeled_statement "LAB_001fef68:\n                    uVar16 = (uint)(char)uVar17;" (statement_identifier "LAB_001fef68") (: ":") (expression_statement "uVar16 = (uint)(char)uVar17;" (assignment_expression "uVar16 = (uint)(char)uVar17" (identifier "uVar16") (= "=") (cast_expression "(uint)(char)uVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(char)uVar17" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar17")))) (; ";"))) (if_statement "if (fVar29 == fVar25) {\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }" (if "if") (parenthesized_expression "(fVar29 == fVar25)" (( "(") (binary_expression "fVar29 == fVar25" (identifier "fVar29") (== "==") (identifier "fVar25")) () ")")) (compound_statement "{\n                      uVar17 = uVar16 | 4;\n                      uVar16 = uVar17;\n                    }" ({ "{") (expression_statement "uVar17 = uVar16 | 4;" (assignment_expression "uVar17 = uVar16 | 4" (identifier "uVar17") (= "=") (binary_expression "uVar16 | 4" (identifier "uVar16") (| "|") (number_literal "4"))) (; ";")) (expression_statement "uVar16 = uVar17;" (assignment_expression "uVar16 = uVar17" (identifier "uVar16") (= "=") (identifier "uVar17")) (; ";")) (} "}"))) (if_statement "if (iVar18 <= iVar12) goto LAB_001febe8;" (if "if") (parenthesized_expression "(iVar18 <= iVar12)" (( "(") (binary_expression "iVar18 <= iVar12" (identifier "iVar18") (<= "<=") (identifier "iVar12")) () ")")) (goto_statement "goto LAB_001febe8;" (goto "goto") (statement_identifier "LAB_001febe8") (; ";"))) (expression_statement "fVar26 = 0.0;" (assignment_expression "fVar26 = 0.0" (identifier "fVar26") (= "=") (number_literal "0.0")) (; ";")) (if_statement "if (iVar15 != 0) {\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }" (if "if") (parenthesized_expression "(iVar15 != 0)" (( "(") (binary_expression "iVar15 != 0" (identifier "iVar15") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                    }" ({ "{") (expression_statement "fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);" (assignment_expression "fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4)" (identifier "fVar26") (= "=") (pointer_expression "*(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4)" (* "*") (cast_expression "(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4)" (( "(") (binary_expression "iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4" (identifier "iVar7") (+ "+") (binary_expression "(*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4" (parenthesized_expression "(*(int *)(iVar14 + 0x44) + iVar9 + 1)" (( "(") (binary_expression "*(int *)(iVar14 + 0x44) + iVar9 + 1" (binary_expression "*(int *)(iVar14 + 0x44) + iVar9" (pointer_expression "*(int *)(iVar14 + 0x44)" (* "*") (cast_expression "(int *)(iVar14 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x44)" (( "(") (binary_expression "iVar14 + 0x44" (identifier "iVar14") (+ "+") (number_literal "0x44")) () ")")))) (+ "+") (identifier "iVar9")) (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (} "}"))) (if_statement "if (fVar29 == fVar26) {\n                      uVar17 = uVar16 | 0x20;\n                    }" (if "if") (parenthesized_expression "(fVar29 == fVar26)" (( "(") (binary_expression "fVar29 == fVar26" (identifier "fVar29") (== "==") (identifier "fVar26")) () ")")) (compound_statement "{\n                      uVar17 = uVar16 | 0x20;\n                    }" ({ "{") (expression_statement "uVar17 = uVar16 | 0x20;" (assignment_expression "uVar17 = uVar16 | 0x20" (identifier "uVar17") (= "=") (binary_expression "uVar16 | 0x20" (identifier "uVar16") (| "|") (number_literal "0x20"))) (; ";")) (} "}"))) (if_statement "if (puVar20 != (undefined1 *)0x3) {\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }" (if "if") (parenthesized_expression "(puVar20 != (undefined1 *)0x3)" (( "(") (binary_expression "puVar20 != (undefined1 *)0x3" (identifier "puVar20") (!= "!=") (cast_expression "(undefined1 *)0x3" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) () ")")) (compound_statement "{\nLAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;\n                      if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }\n                      uVar16 = (uint)(char)uVar17;\n                      if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }\n                      if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }\n                    }" ({ "{") (labeled_statement "LAB_001fefc0:\n                      iVar9 = iVar18 * 3 + iVar22;" (statement_identifier "LAB_001fefc0") (: ":") (expression_statement "iVar9 = iVar18 * 3 + iVar22;" (assignment_expression "iVar9 = iVar18 * 3 + iVar22" (identifier "iVar9") (= "=") (binary_expression "iVar18 * 3 + iVar22" (binary_expression "iVar18 * 3" (identifier "iVar18") (* "*") (number_literal "3")) (+ "+") (identifier "iVar22"))) (; ";"))) (if_statement "if (iVar15 == 0) {\n                        fVar26 = 0.0;\n                      }\n                      else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }" (if "if") (parenthesized_expression "(iVar15 == 0)" (( "(") (binary_expression "iVar15 == 0" (identifier "iVar15") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                        fVar26 = 0.0;\n                      }" ({ "{") (expression_statement "fVar26 = 0.0;" (assignment_expression "fVar26 = 0.0" (identifier "fVar26") (= "=") (number_literal "0.0")) (; ";")) (} "}")) (else_clause "else {\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }" (else "else") (compound_statement "{\n                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);\n                      }" ({ "{") (expression_statement "fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);" (assignment_expression "fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4)" (identifier "fVar26") (= "=") (pointer_expression "*(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4)" (* "*") (cast_expression "(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4)" (( "(") (binary_expression "iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4" (identifier "iVar7") (+ "+") (binary_expression "(iVar9 + *(int *)(iVar14 + 0x44)) * 4" (parenthesized_expression "(iVar9 + *(int *)(iVar14 + 0x44))" (( "(") (binary_expression "iVar9 + *(int *)(iVar14 + 0x44)" (identifier "iVar9") (+ "+") (pointer_expression "*(int *)(iVar14 + 0x44)" (* "*") (cast_expression "(int *)(iVar14 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x44)" (( "(") (binary_expression "iVar14 + 0x44" (identifier "iVar14") (+ "+") (number_literal "0x44")) () ")"))))) () ")")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (} "}")))) (expression_statement "uVar16 = (uint)(char)uVar17;" (assignment_expression "uVar16 = (uint)(char)uVar17" (identifier "uVar16") (= "=") (cast_expression "(uint)(char)uVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(char)uVar17" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar17")))) (; ";")) (if_statement "if (fVar29 == fVar26) {\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }" (if "if") (parenthesized_expression "(fVar29 == fVar26)" (( "(") (binary_expression "fVar29 == fVar26" (identifier "fVar29") (== "==") (identifier "fVar26")) () ")")) (compound_statement "{\n                        uVar17 = uVar16 | 0x40;\n                        uVar16 = uVar17;\n                      }" ({ "{") (expression_statement "uVar17 = uVar16 | 0x40;" (assignment_expression "uVar17 = uVar16 | 0x40" (identifier "uVar17") (= "=") (binary_expression "uVar16 | 0x40" (identifier "uVar16") (| "|") (number_literal "0x40"))) (; ";")) (expression_statement "uVar16 = uVar17;" (assignment_expression "uVar16 = uVar17" (identifier "uVar16") (= "=") (identifier "uVar17")) (; ";")) (} "}"))) (if_statement "if (iVar12 < iVar18) {\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }" (if "if") (parenthesized_expression "(iVar12 < iVar18)" (( "(") (binary_expression "iVar12 < iVar18" (identifier "iVar12") (< "<") (identifier "iVar18")) () ")")) (compound_statement "{\n                        fVar26 = 0.0;\n                        if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }\n                        if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }\n                      }" ({ "{") (expression_statement "fVar26 = 0.0;" (assignment_expression "fVar26 = 0.0" (identifier "fVar26") (= "=") (number_literal "0.0")) (; ";")) (if_statement "if (iVar15 != 0) {\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }" (if "if") (parenthesized_expression "(iVar15 != 0)" (( "(") (binary_expression "iVar15 != 0" (identifier "iVar15") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);\n                        }" ({ "{") (expression_statement "fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);" (assignment_expression "fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4)" (identifier "fVar26") (= "=") (pointer_expression "*(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4)" (* "*") (cast_expression "(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4)" (( "(") (binary_expression "iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4" (identifier "iVar7") (+ "+") (binary_expression "(*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4" (parenthesized_expression "(*(int *)(iVar14 + 0x44) + iVar9 + 1)" (( "(") (binary_expression "*(int *)(iVar14 + 0x44) + iVar9 + 1" (binary_expression "*(int *)(iVar14 + 0x44) + iVar9" (pointer_expression "*(int *)(iVar14 + 0x44)" (* "*") (cast_expression "(int *)(iVar14 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x44)" (( "(") (binary_expression "iVar14 + 0x44" (identifier "iVar14") (+ "+") (number_literal "0x44")) () ")")))) (+ "+") (identifier "iVar9")) (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (} "}"))) (if_statement "if (fVar29 == fVar26) {\n                          uVar17 = uVar16 | 0x80;\n                        }" (if "if") (parenthesized_expression "(fVar29 == fVar26)" (( "(") (binary_expression "fVar29 == fVar26" (identifier "fVar29") (== "==") (identifier "fVar26")) () ")")) (compound_statement "{\n                          uVar17 = uVar16 | 0x80;\n                        }" ({ "{") (expression_statement "uVar17 = uVar16 | 0x80;" (assignment_expression "uVar17 = uVar16 | 0x80" (identifier "uVar17") (= "=") (binary_expression "uVar16 | 0x80" (identifier "uVar16") (| "|") (number_literal "0x80"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}")))) (} "}"))) (labeled_statement "LAB_001fec34:\n              if (!bVar5) goto LAB_001fec3c;" (statement_identifier "LAB_001fec34") (: ":") (if_statement "if (!bVar5) goto LAB_001fec3c;" (if "if") (parenthesized_expression "(!bVar5)" (( "(") (unary_expression "!bVar5" (! "!") (identifier "bVar5")) () ")")) (goto_statement "goto LAB_001fec3c;" (goto "goto") (statement_identifier "LAB_001fec3c") (; ";")))) (labeled_statement "LAB_001fedf4:\n              local_1040 = 0xe2;" (statement_identifier "LAB_001fedf4") (: ":") (expression_statement "local_1040 = 0xe2;" (assignment_expression "local_1040 = 0xe2" (identifier "local_1040") (= "=") (number_literal "0xe2")) (; ";"))) (expression_statement "local_103f = (byte)(uVar17 >> 6) | 0xa0;" (assignment_expression "local_103f = (byte)(uVar17 >> 6) | 0xa0" (identifier "local_103f") (= "=") (binary_expression "(byte)(uVar17 >> 6) | 0xa0" (call_expression "(byte)(uVar17 >> 6)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uVar17 >> 6)" (( "(") (binary_expression "uVar17 >> 6" (identifier "uVar17") (>> ">>") (number_literal "6")) () ")"))) (| "|") (number_literal "0xa0"))) (; ";")) (expression_statement "local_103e = (byte)uVar17 & 0x3f | 0x80;" (assignment_expression "local_103e = (byte)uVar17 & 0x3f | 0x80" (identifier "local_103e") (= "=") (binary_expression "(byte)uVar17 & 0x3f | 0x80" (binary_expression "(byte)uVar17 & 0x3f" (cast_expression "(byte)uVar17" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar17")) (& "&") (number_literal "0x3f")) (| "|") (number_literal "0x80"))) (; ";")) (expression_statement "(*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);" (call_expression "(*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040)" (parenthesized_expression "(*(code *)PTR_WriteBlob_003a9994)" (( "(") (pointer_expression "*(code *)PTR_WriteBlob_003a9994" (* "*") (cast_expression "(code *)PTR_WriteBlob_003a9994" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_WriteBlob_003a9994"))) () ")")) (argument_list "(param_2,3,&local_1040)" (( "(") (identifier "param_2") (, ",") (number_literal "3") (, ",") (pointer_expression "&local_1040" (& "&") (identifier "local_1040")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }" (else "else") (compound_statement "{\n              iVar15 = *(int *)(iVar14 + 0x14);\n              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;\n              uVar17 = (uint)bVar4;\n              bVar1 = iVar12 < iVar18;\n              if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }\n              uVar16 = 8;\n              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }\n              uVar17 = uVar16 | uVar17;\n              if (bVar2) goto LAB_001fec34;\n              uVar16 = uVar17;\n              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }\nLAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }\n              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;\n              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }\n              iVar15 = iVar15 * 4;\n              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }\n              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;\n              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n              uVar16 = (uint)(char)uVar17;\n              if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }\n              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;\n              uVar17 = uVar16 | 0x80;\n              if (bVar5) goto LAB_001fedf4;\nLAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }\n            }" ({ "{") (expression_statement "iVar15 = *(int *)(iVar14 + 0x14);" (assignment_expression "iVar15 = *(int *)(iVar14 + 0x14)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(iVar14 + 0x14)" (* "*") (cast_expression "(int *)(iVar14 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x14)" (( "(") (binary_expression "iVar14 + 0x14" (identifier "iVar14") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;" (assignment_expression "bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26" (identifier "bVar4") (= "=") (binary_expression "*(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26" (pointer_expression "*(float *)(iVar7 + (iVar15 + iVar22) * 4)" (* "*") (cast_expression "(float *)(iVar7 + (iVar15 + iVar22) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + (iVar15 + iVar22) * 4)" (( "(") (binary_expression "iVar7 + (iVar15 + iVar22) * 4" (identifier "iVar7") (+ "+") (binary_expression "(iVar15 + iVar22) * 4" (parenthesized_expression "(iVar15 + iVar22)" (( "(") (binary_expression "iVar15 + iVar22" (identifier "iVar15") (+ "+") (identifier "iVar22")) () ")")) (* "*") (number_literal "4"))) () ")")))) (== "==") (identifier "fVar26"))) (; ";")) (expression_statement "uVar17 = (uint)bVar4;" (assignment_expression "uVar17 = (uint)bVar4" (identifier "uVar17") (= "=") (cast_expression "(uint)bVar4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar4"))) (; ";")) (expression_statement "bVar1 = iVar12 < iVar18;" (assignment_expression "bVar1 = iVar12 < iVar18" (identifier "bVar1") (= "=") (binary_expression "iVar12 < iVar18" (identifier "iVar12") (< "<") (identifier "iVar18"))) (; ";")) (if_statement "if (!bVar1) {\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }" (if "if") (parenthesized_expression "(!bVar1)" (( "(") (unary_expression "!bVar1" (! "!") (identifier "bVar1")) () ")")) (compound_statement "{\n                if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }\n                goto LAB_001fec34;\n              }" ({ "{") (if_statement "if (!bVar2) {\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }" (if "if") (parenthesized_expression "(!bVar2)" (( "(") (unary_expression "!bVar2" (! "!") (identifier "bVar2")) () ")")) (compound_statement "{\n                  uVar16 = (uint)bVar4;\n                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;\nLAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;\n                  if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }\n                }" ({ "{") (expression_statement "uVar16 = (uint)bVar4;" (assignment_expression "uVar16 = (uint)bVar4" (identifier "uVar16") (= "=") (cast_expression "(uint)bVar4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar4"))) (; ";")) (if_statement "if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)\n                  goto LAB_001fed40;" (if "if") (parenthesized_expression "(*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)" (( "(") (binary_expression "*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26" (pointer_expression "*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4)" (* "*") (cast_expression "(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4)" (( "(") (binary_expression "iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4" (binary_expression "iVar7 + (iVar18 + iVar22) * 4" (identifier "iVar7") (+ "+") (binary_expression "(iVar18 + iVar22) * 4" (parenthesized_expression "(iVar18 + iVar22)" (( "(") (binary_expression "iVar18 + iVar22" (identifier "iVar18") (+ "+") (identifier "iVar22")) () ")")) (* "*") (number_literal "4"))) (+ "+") (binary_expression "iVar15 * 4" (identifier "iVar15") (* "*") (number_literal "4"))) () ")")))) (== "==") (identifier "fVar26")) () ")")) (goto_statement "goto LAB_001fed40;" (goto "goto") (statement_identifier "LAB_001fed40") (; ";"))) (labeled_statement "LAB_001fed48:\n                  if (bVar1) goto LAB_001feb88;" (statement_identifier "LAB_001fed48") (: ":") (if_statement "if (bVar1) goto LAB_001feb88;" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (goto_statement "goto LAB_001feb88;" (goto "goto") (statement_identifier "LAB_001feb88") (; ";")))) (if_statement "if (puVar20 != (undefined1 *)0x2) {\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }" (if "if") (parenthesized_expression "(puVar20 != (undefined1 *)0x2)" (( "(") (binary_expression "puVar20 != (undefined1 *)0x2" (identifier "puVar20") (!= "!=") (cast_expression "(undefined1 *)0x2" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) () ")")) (compound_statement "{\n                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }\n                    goto LAB_001febe8;\n                  }" ({ "{") (if_statement "if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }" (if "if") (parenthesized_expression "(*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26)" (( "(") (binary_expression "*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26" (pointer_expression "*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4)" (* "*") (cast_expression "(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4)" (( "(") (binary_expression "iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4" (binary_expression "iVar7 + (iVar18 * 2 + iVar22) * 4" (identifier "iVar7") (+ "+") (binary_expression "(iVar18 * 2 + iVar22) * 4" (parenthesized_expression "(iVar18 * 2 + iVar22)" (( "(") (binary_expression "iVar18 * 2 + iVar22" (binary_expression "iVar18 * 2" (identifier "iVar18") (* "*") (number_literal "2")) (+ "+") (identifier "iVar22")) () ")")) (* "*") (number_literal "4"))) (+ "+") (binary_expression "iVar15 * 4" (identifier "iVar15") (* "*") (number_literal "4"))) () ")")))) (== "==") (identifier "fVar26")) () ")")) (compound_statement "{\n                      uVar17 = (int)(char)uVar17 | 4;\n                    }" ({ "{") (expression_statement "uVar17 = (int)(char)uVar17 | 4;" (assignment_expression "uVar17 = (int)(char)uVar17 | 4" (identifier "uVar17") (= "=") (binary_expression "(int)(char)uVar17 | 4" (cast_expression "(int)(char)uVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)uVar17" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar17"))) (| "|") (number_literal "4"))) (; ";")) (} "}"))) (goto_statement "goto LAB_001febe8;" (goto "goto") (statement_identifier "LAB_001febe8") (; ";")) (} "}"))) (} "}"))) (goto_statement "goto LAB_001fec34;" (goto "goto") (statement_identifier "LAB_001fec34") (; ";")) (} "}"))) (expression_statement "uVar16 = 8;" (assignment_expression "uVar16 = 8" (identifier "uVar16") (= "=") (number_literal "8")) (; ";")) (if_statement "if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {\n                uVar16 = 0;\n              }" (if "if") (parenthesized_expression "(*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26)" (( "(") (binary_expression "*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26" (pointer_expression "*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4)" (* "*") (cast_expression "(float *)(iVar7 + iVar12 * 4 + iVar15 * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + iVar12 * 4 + iVar15 * 4)" (( "(") (binary_expression "iVar7 + iVar12 * 4 + iVar15 * 4" (binary_expression "iVar7 + iVar12 * 4" (identifier "iVar7") (+ "+") (binary_expression "iVar12 * 4" (identifier "iVar12") (* "*") (number_literal "4"))) (+ "+") (binary_expression "iVar15 * 4" (identifier "iVar15") (* "*") (number_literal "4"))) () ")")))) (!= "!=") (identifier "fVar26")) () ")")) (compound_statement "{\n                uVar16 = 0;\n              }" ({ "{") (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" (identifier "uVar16") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "uVar17 = uVar16 | uVar17;" (assignment_expression "uVar17 = uVar16 | uVar17" (identifier "uVar17") (= "=") (binary_expression "uVar16 | uVar17" (identifier "uVar16") (| "|") (identifier "uVar17"))) (; ";")) (if_statement "if (bVar2) goto LAB_001fec34;" (if "if") (parenthesized_expression "(bVar2)" (( "(") (identifier "bVar2") () ")")) (goto_statement "goto LAB_001fec34;" (goto "goto") (statement_identifier "LAB_001fec34") (; ";"))) (expression_statement "uVar16 = uVar17;" (assignment_expression "uVar16 = uVar17" (identifier "uVar16") (= "=") (identifier "uVar17")) (; ";")) (if_statement "if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }" (if "if") (parenthesized_expression "(*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)" (( "(") (binary_expression "*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26" (pointer_expression "*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4)" (* "*") (cast_expression "(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4)" (( "(") (binary_expression "iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4" (binary_expression "iVar7 + (iVar18 + iVar22) * 4" (identifier "iVar7") (+ "+") (binary_expression "(iVar18 + iVar22) * 4" (parenthesized_expression "(iVar18 + iVar22)" (( "(") (binary_expression "iVar18 + iVar22" (identifier "iVar18") (+ "+") (identifier "iVar22")) () ")")) (* "*") (number_literal "4"))) (+ "+") (binary_expression "iVar15 * 4" (identifier "iVar15") (* "*") (number_literal "4"))) () ")")))) (== "==") (identifier "fVar26")) () ")")) (compound_statement "{\nLAB_001fed40:\n                uVar17 = uVar16 | 2;\n                uVar16 = uVar17;\n                goto LAB_001fed48;\n              }" ({ "{") (labeled_statement "LAB_001fed40:\n                uVar17 = uVar16 | 2;" (statement_identifier "LAB_001fed40") (: ":") (expression_statement "uVar17 = uVar16 | 2;" (assignment_expression "uVar17 = uVar16 | 2" (identifier "uVar17") (= "=") (binary_expression "uVar16 | 2" (identifier "uVar16") (| "|") (number_literal "2"))) (; ";"))) (expression_statement "uVar16 = uVar17;" (assignment_expression "uVar16 = uVar17" (identifier "uVar16") (= "=") (identifier "uVar17")) (; ";")) (goto_statement "goto LAB_001fed48;" (goto "goto") (statement_identifier "LAB_001fed48") (; ";")) (} "}"))) (labeled_statement "LAB_001feb88:\n              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }" (statement_identifier "LAB_001feb88") (: ":") (if_statement "if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {\n                uVar17 = uVar16 | 0x10;\n              }" (if "if") (parenthesized_expression "(*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26)" (( "(") (binary_expression "*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26" (pointer_expression "*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4)" (* "*") (cast_expression "(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4)" (( "(") (binary_expression "iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4" (binary_expression "iVar7 + (iVar18 + iVar22 + 1) * 4" (identifier "iVar7") (+ "+") (binary_expression "(iVar18 + iVar22 + 1) * 4" (parenthesized_expression "(iVar18 + iVar22 + 1)" (( "(") (binary_expression "iVar18 + iVar22 + 1" (binary_expression "iVar18 + iVar22" (identifier "iVar18") (+ "+") (identifier "iVar22")) (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "4"))) (+ "+") (binary_expression "iVar15 * 4" (identifier "iVar15") (* "*") (number_literal "4"))) () ")")))) (== "==") (identifier "fVar26")) () ")")) (compound_statement "{\n                uVar17 = uVar16 | 0x10;\n              }" ({ "{") (expression_statement "uVar17 = uVar16 | 0x10;" (assignment_expression "uVar17 = uVar16 | 0x10" (identifier "uVar17") (= "=") (binary_expression "uVar16 | 0x10" (identifier "uVar16") (| "|") (number_literal "0x10"))) (; ";")) (} "}")))) (if_statement "if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;" (if "if") (parenthesized_expression "(puVar20 == (undefined1 *)0x2)" (( "(") (binary_expression "puVar20 == (undefined1 *)0x2" (identifier "puVar20") (== "==") (cast_expression "(undefined1 *)0x2" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) () ")")) (goto_statement "goto LAB_001fec34;" (goto "goto") (statement_identifier "LAB_001fec34") (; ";"))) (expression_statement "iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;" (assignment_expression "iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4" (identifier "iVar9") (= "=") (binary_expression "iVar7 + (iVar18 * 2 + iVar22) * 4" (identifier "iVar7") (+ "+") (binary_expression "(iVar18 * 2 + iVar22) * 4" (parenthesized_expression "(iVar18 * 2 + iVar22)" (( "(") (binary_expression "iVar18 * 2 + iVar22" (binary_expression "iVar18 * 2" (identifier "iVar18") (* "*") (number_literal "2")) (+ "+") (identifier "iVar22")) () ")")) (* "*") (number_literal "4")))) (; ";")) (expression_statement "uVar16 = (uint)(char)uVar17;" (assignment_expression "uVar16 = (uint)(char)uVar17" (identifier "uVar16") (= "=") (cast_expression "(uint)(char)uVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(char)uVar17" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar17")))) (; ";")) (if_statement "if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }" (if "if") (parenthesized_expression "((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1))" (( "(") (binary_expression "(*(float *)(iVar9 + iVar15 * 4) == fVar26) &&\n                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)" (parenthesized_expression "(*(float *)(iVar9 + iVar15 * 4) == fVar26)" (( "(") (binary_expression "*(float *)(iVar9 + iVar15 * 4) == fVar26" (pointer_expression "*(float *)(iVar9 + iVar15 * 4)" (* "*") (cast_expression "(float *)(iVar9 + iVar15 * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + iVar15 * 4)" (( "(") (binary_expression "iVar9 + iVar15 * 4" (identifier "iVar9") (+ "+") (binary_expression "iVar15 * 4" (identifier "iVar15") (* "*") (number_literal "4"))) () ")")))) (== "==") (identifier "fVar26")) () ")")) (&& "&&") (parenthesized_expression "(uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)" (( "(") (comma_expression "uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1" (assignment_expression "uVar17 = uVar16 | 4" (identifier "uVar17") (= "=") (binary_expression "uVar16 | 4" (identifier "uVar16") (| "|") (number_literal "4"))) (, ",") (comma_expression "uVar16 = uVar17, !bVar1" (assignment_expression "uVar16 = uVar17" (identifier "uVar16") (= "=") (identifier "uVar17")) (, ",") (unary_expression "!bVar1" (! "!") (identifier "bVar1")))) () ")"))) () ")")) (compound_statement "{\nLAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }\n                goto LAB_001fec34;\n              }" ({ "{") (labeled_statement "LAB_001febe8:\n                if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }" (statement_identifier "LAB_001febe8") (: ":") (if_statement "if (puVar20 != (undefined1 *)0x3) {\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }" (if "if") (parenthesized_expression "(puVar20 != (undefined1 *)0x3)" (( "(") (binary_expression "puVar20 != (undefined1 *)0x3" (identifier "puVar20") (!= "!=") (cast_expression "(undefined1 *)0x3" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) () ")")) (compound_statement "{\n                  if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }\n                  iVar15 = *(int *)(iVar14 + 0x14) * 4;\n                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;\n                  uVar16 = (uint)(char)uVar17;\n                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;\n                }" ({ "{") (if_statement "if (*param_2 == 2) {\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }" (if "if") (parenthesized_expression "(*param_2 == 2)" (( "(") (binary_expression "*param_2 == 2" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n                    iVar15 = *(int *)(iVar14 + 0x40);\n                    goto LAB_001fefc0;\n                  }" ({ "{") (expression_statement "iVar15 = *(int *)(iVar14 + 0x40);" (assignment_expression "iVar15 = *(int *)(iVar14 + 0x40)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(iVar14 + 0x40)" (* "*") (cast_expression "(int *)(iVar14 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x40)" (( "(") (binary_expression "iVar14 + 0x40" (identifier "iVar14") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (goto_statement "goto LAB_001fefc0;" (goto "goto") (statement_identifier "LAB_001fefc0") (; ";")) (} "}"))) (expression_statement "iVar15 = *(int *)(iVar14 + 0x14) * 4;" (assignment_expression "iVar15 = *(int *)(iVar14 + 0x14) * 4" (identifier "iVar15") (= "=") (binary_expression "*(int *)(iVar14 + 0x14) * 4" (pointer_expression "*(int *)(iVar14 + 0x14)" (* "*") (cast_expression "(int *)(iVar14 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x14)" (( "(") (binary_expression "iVar14 + 0x14" (identifier "iVar14") (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "4"))) (; ";")) (expression_statement "iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;" (assignment_expression "iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4" (identifier "iVar14") (= "=") (binary_expression "iVar7 + (iVar18 * 3 + iVar22) * 4" (identifier "iVar7") (+ "+") (binary_expression "(iVar18 * 3 + iVar22) * 4" (parenthesized_expression "(iVar18 * 3 + iVar22)" (( "(") (binary_expression "iVar18 * 3 + iVar22" (binary_expression "iVar18 * 3" (identifier "iVar18") (* "*") (number_literal "3")) (+ "+") (identifier "iVar22")) () ")")) (* "*") (number_literal "4")))) (; ";")) (expression_statement "uVar16 = (uint)(char)uVar17;" (assignment_expression "uVar16 = (uint)(char)uVar17" (identifier "uVar16") (= "=") (cast_expression "(uint)(char)uVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(char)uVar17" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar17")))) (; ";")) (if_statement "if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;" (if "if") (parenthesized_expression "(*(float *)(iVar14 + iVar15) == fVar26)" (( "(") (binary_expression "*(float *)(iVar14 + iVar15) == fVar26" (pointer_expression "*(float *)(iVar14 + iVar15)" (* "*") (cast_expression "(float *)(iVar14 + iVar15)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + iVar15)" (( "(") (binary_expression "iVar14 + iVar15" (identifier "iVar14") (+ "+") (identifier "iVar15")) () ")")))) (== "==") (identifier "fVar26")) () ")")) (goto_statement "goto LAB_001fec28;" (goto "goto") (statement_identifier "LAB_001fec28") (; ";"))) (} "}")))) (goto_statement "goto LAB_001fec34;" (goto "goto") (statement_identifier "LAB_001fec34") (; ";")) (} "}"))) (expression_statement "iVar15 = iVar15 * 4;" (assignment_expression "iVar15 = iVar15 * 4" (identifier "iVar15") (= "=") (binary_expression "iVar15 * 4" (identifier "iVar15") (* "*") (number_literal "4"))) (; ";")) (if_statement "if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {\n                uVar17 = uVar16 | 0x20;\n              }" (if "if") (parenthesized_expression "(*(float *)(iVar9 + iVar15 + 4) == fVar26)" (( "(") (binary_expression "*(float *)(iVar9 + iVar15 + 4) == fVar26" (pointer_expression "*(float *)(iVar9 + iVar15 + 4)" (* "*") (cast_expression "(float *)(iVar9 + iVar15 + 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + iVar15 + 4)" (( "(") (binary_expression "iVar9 + iVar15 + 4" (binary_expression "iVar9 + iVar15" (identifier "iVar9") (+ "+") (identifier "iVar15")) (+ "+") (number_literal "4")) () ")")))) (== "==") (identifier "fVar26")) () ")")) (compound_statement "{\n                uVar17 = uVar16 | 0x20;\n              }" ({ "{") (expression_statement "uVar17 = uVar16 | 0x20;" (assignment_expression "uVar17 = uVar16 | 0x20" (identifier "uVar17") (= "=") (binary_expression "uVar16 | 0x20" (identifier "uVar16") (| "|") (number_literal "0x20"))) (; ";")) (} "}"))) (if_statement "if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;" (if "if") (parenthesized_expression "(puVar20 == (undefined1 *)0x3)" (( "(") (binary_expression "puVar20 == (undefined1 *)0x3" (identifier "puVar20") (== "==") (cast_expression "(undefined1 *)0x3" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) () ")")) (goto_statement "goto LAB_001fec34;" (goto "goto") (statement_identifier "LAB_001fec34") (; ";"))) (expression_statement "iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;" (assignment_expression "iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4" (identifier "iVar14") (= "=") (binary_expression "iVar7 + (iVar18 * 3 + iVar22) * 4" (identifier "iVar7") (+ "+") (binary_expression "(iVar18 * 3 + iVar22) * 4" (parenthesized_expression "(iVar18 * 3 + iVar22)" (( "(") (binary_expression "iVar18 * 3 + iVar22" (binary_expression "iVar18 * 3" (identifier "iVar18") (* "*") (number_literal "3")) (+ "+") (identifier "iVar22")) () ")")) (* "*") (number_literal "4")))) (; ";")) (expression_statement "uVar16 = (uint)(char)uVar17;" (assignment_expression "uVar16 = (uint)(char)uVar17" (identifier "uVar16") (= "=") (cast_expression "(uint)(char)uVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(char)uVar17" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar17")))) (; ";")) (if_statement "if (*(float *)(iVar14 + iVar15) == fVar26) {\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }" (if "if") (parenthesized_expression "(*(float *)(iVar14 + iVar15) == fVar26)" (( "(") (binary_expression "*(float *)(iVar14 + iVar15) == fVar26" (pointer_expression "*(float *)(iVar14 + iVar15)" (* "*") (cast_expression "(float *)(iVar14 + iVar15)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + iVar15)" (( "(") (binary_expression "iVar14 + iVar15" (identifier "iVar14") (+ "+") (identifier "iVar15")) () ")")))) (== "==") (identifier "fVar26")) () ")")) (compound_statement "{\nLAB_001fec28:\n                uVar16 = uVar16 | 0x40;\n                uVar17 = uVar16;\n                if (iVar18 <= iVar12) goto LAB_001fec34;\n              }" ({ "{") (labeled_statement "LAB_001fec28:\n                uVar16 = uVar16 | 0x40;" (statement_identifier "LAB_001fec28") (: ":") (expression_statement "uVar16 = uVar16 | 0x40;" (assignment_expression "uVar16 = uVar16 | 0x40" (identifier "uVar16") (= "=") (binary_expression "uVar16 | 0x40" (identifier "uVar16") (| "|") (number_literal "0x40"))) (; ";"))) (expression_statement "uVar17 = uVar16;" (assignment_expression "uVar17 = uVar16" (identifier "uVar17") (= "=") (identifier "uVar16")) (; ";")) (if_statement "if (iVar18 <= iVar12) goto LAB_001fec34;" (if "if") (parenthesized_expression "(iVar18 <= iVar12)" (( "(") (binary_expression "iVar18 <= iVar12" (identifier "iVar18") (<= "<=") (identifier "iVar12")) () ")")) (goto_statement "goto LAB_001fec34;" (goto "goto") (statement_identifier "LAB_001fec34") (; ";"))) (} "}"))) (if_statement "if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;" (if "if") (parenthesized_expression "(*(float *)(iVar14 + iVar15 + 4) != fVar26)" (( "(") (binary_expression "*(float *)(iVar14 + iVar15 + 4) != fVar26" (pointer_expression "*(float *)(iVar14 + iVar15 + 4)" (* "*") (cast_expression "(float *)(iVar14 + iVar15 + 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + iVar15 + 4)" (( "(") (binary_expression "iVar14 + iVar15 + 4" (binary_expression "iVar14 + iVar15" (identifier "iVar14") (+ "+") (identifier "iVar15")) (+ "+") (number_literal "4")) () ")")))) (!= "!=") (identifier "fVar26")) () ")")) (goto_statement "goto LAB_001fec34;" (goto "goto") (statement_identifier "LAB_001fec34") (; ";"))) (expression_statement "uVar17 = uVar16 | 0x80;" (assignment_expression "uVar17 = uVar16 | 0x80" (identifier "uVar17") (= "=") (binary_expression "uVar16 | 0x80" (identifier "uVar16") (| "|") (number_literal "0x80"))) (; ";")) (if_statement "if (bVar5) goto LAB_001fedf4;" (if "if") (parenthesized_expression "(bVar5)" (( "(") (identifier "bVar5") () ")")) (goto_statement "goto LAB_001fedf4;" (goto "goto") (statement_identifier "LAB_001fedf4") (; ";"))) (labeled_statement "LAB_001fec3c:\n              if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }" (statement_identifier "LAB_001fec3c") (: ":") (if_statement "if (bVar3) {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }\n              else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }" (if "if") (parenthesized_expression "(bVar3)" (( "(") (identifier "bVar3") () ")")) (compound_statement "{\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);\n              }" ({ "{") (expression_statement "(*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);" (call_expression "(*(code *)PTR_WriteBlobByte_003a8fdc)(param_2)" (parenthesized_expression "(*(code *)PTR_WriteBlobByte_003a8fdc)" (( "(") (pointer_expression "*(code *)PTR_WriteBlobByte_003a8fdc" (* "*") (cast_expression "(code *)PTR_WriteBlobByte_003a8fdc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_WriteBlobByte_003a8fdc"))) () ")")) (argument_list "(param_2)" (( "(") (identifier "param_2") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }" (else "else") (compound_statement "{\n                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);\n              }" ({ "{") (expression_statement "(*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);" (call_expression "(*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50])" (parenthesized_expression "(*(code *)PTR_WriteBlobByte_003a8fdc)" (( "(") (pointer_expression "*(code *)PTR_WriteBlobByte_003a8fdc" (* "*") (cast_expression "(code *)PTR_WriteBlobByte_003a8fdc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_WriteBlobByte_003a8fdc"))) () ")")) (argument_list "(param_2,puVar10[uVar17 + 0xa50])" (( "(") (identifier "param_2") (, ",") (subscript_expression "puVar10[uVar17 + 0xa50]" (identifier "puVar10") ([ "[") (binary_expression "uVar17 + 0xa50" (identifier "uVar17") (+ "+") (number_literal "0xa50")) (] "]")) () ")"))) (; ";")) (} "}"))))) (} "}")))) (expression_statement "iVar18 = param_2[6];" (assignment_expression "iVar18 = param_2[6]" (identifier "iVar18") (= "=") (subscript_expression "param_2[6]" (identifier "param_2") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "iVar22 = iVar22 + 2;" (assignment_expression "iVar22 = iVar22 + 2" (identifier "iVar22") (= "=") (binary_expression "iVar22 + 2" (identifier "iVar22") (+ "+") (number_literal "2"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar22 < iVar18)" (( "(") (binary_expression "iVar22 < iVar18" (identifier "iVar22") (< "<") (identifier "iVar18")) () ")")) (; ";")) (} "}"))) (if_statement "if (!bVar3) {\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }" (if "if") (parenthesized_expression "(!bVar3)" (( "(") (unary_expression "!bVar3" (! "!") (identifier "bVar3")) () ")")) (compound_statement "{\n          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);\n        }" ({ "{") (expression_statement "(*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);" (call_expression "(*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10)" (parenthesized_expression "(*(code *)PTR_WriteBlobByte_003a8fdc)" (( "(") (pointer_expression "*(code *)PTR_WriteBlobByte_003a8fdc" (* "*") (cast_expression "(code *)PTR_WriteBlobByte_003a8fdc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_WriteBlobByte_003a8fdc"))) () ")")) (argument_list "(param_2,10)" (( "(") (identifier "param_2") (, ",") (number_literal "10") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar13 = puVar21;" (assignment_expression "puVar13 = puVar21" (identifier "puVar13") (= "=") (identifier "puVar21")) (; ";")) (expression_statement "iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7]);" (assignment_expression "iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7])" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_SetImageProgress_003a8cb4)\n                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7])" (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 "(param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7])" (( "(") (identifier "param_2") (, ",") (identifier "puVar8") (, ",") (binary_expression "(int)puVar21 >> 0x1f" (cast_expression "(int)puVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar21")) (>> ">>") (number_literal "0x1f")) (, ",") (identifier "puVar21") (, ",") (number_literal "0") (, ",") (subscript_expression "param_2[7]" (identifier "param_2") ([ "[") (number_literal "7") (] "]")) () ")")))) (; ";")) (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 "puVar11 = (undefined1 *)param_2[7];" (assignment_expression "puVar11 = (undefined1 *)param_2[7]" (identifier "puVar11") (= "=") (cast_expression "(undefined1 *)param_2[7]" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[7]" (identifier "param_2") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "puVar21 = puVar21 + (int)puVar20;" (assignment_expression "puVar21 = puVar21 + (int)puVar20" (identifier "puVar21") (= "=") (binary_expression "puVar21 + (int)puVar20" (identifier "puVar21") (+ "+") (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")))) (; ";")) (expression_statement "puVar19 = puVar21 + (int)puVar20;" (assignment_expression "puVar19 = puVar21 + (int)puVar20" (identifier "puVar19") (= "=") (binary_expression "puVar21 + (int)puVar20" (identifier "puVar21") (+ "+") (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)puVar21 < (int)puVar11)" (( "(") (binary_expression "(int)puVar21 < (int)puVar11" (cast_expression "(int)puVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar21")) (< "<") (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11"))) () ")")) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(param_2);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(param_2)" (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 "(param_2)" (( "(") (identifier "param_2") () ")"))) (; ";")) (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" (identifier "iVar7") (= "=") (number_literal "1")) (; ";")) (} "}"))) (if_statement "if (local_3c == *(int *)puVar6) {\n    return iVar7;\n  }" (if "if") (parenthesized_expression "(local_3c == *(int *)puVar6)" (( "(") (binary_expression "local_3c == *(int *)puVar6" (identifier "local_3c") (== "==") (pointer_expression "*(int *)puVar6" (* "*") (cast_expression "(int *)puVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6")))) () ")")) (compound_statement "{\n    return iVar7;\n  }" ({ "{") (return_statement "return iVar7;" (return "return") (identifier "iVar7") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_003a9064" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_003a9064"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_001ff384:\n  iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                    (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + 0x978,0xf4,puVar13 + 0xaa4);" (statement_identifier "LAB_001ff384") (: ":") (expression_statement "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                    (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + 0x978,0xf4,puVar13 + 0xaa4);" (assignment_expression "iVar7 = (*(code *)PTR___assert_fail_003a9608)\n                    (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + 0x978,0xf4,puVar13 + 0xaa4)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                    (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + 0x978,0xf4,puVar13 + 0xaa4)" (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_s_courses_003a88ec + 0x978,0xf4,puVar13 + 0xaa4)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x294c" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x294c")) (, ",") (binary_expression "PTR_s_courses_003a88ec + 0x978" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "0x978")) (, ",") (number_literal "0xf4") (, ",") (binary_expression "puVar13 + 0xaa4" (identifier "puVar13") (+ "+") (number_literal "0xaa4")) () ")")))) (; ";"))) (return_statement "return iVar7;" (return "return") (identifier "iVar7") (; ";")) (} "}")))

/* 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_1,type_3 *var_4,type_4 *var_10)

{
  bool bVar1;
  bool bVar2;
  bool bVar3;
  bool bVar4;
  bool bVar5;
  type_5 *puVar6;
  type_5 *puVar7;
  int var_31;
  int var_6;
  type_1 var_7;
  type_5 *puVar11;
  size_t var_28;
  int var_30;
  type_6 *var_16;
  int var_24;
  type_4 *pEVar16;
  type_7 *pPVar17;
  int var_29;
  type_8 var_20;
  type_9 var_26;
  type_9 var_27;
  char *pcVar22;
  type_6 *var_17;
  type_6 *var_18;
  type_4 *var_11;
  int var_19;
  float var_25;
  float var_23;
  double var_14;
  double var_15;
  type_10 uVar31;
  type_11 uVar32;
  float var_22;
  type_12 utf8 [3];
  char buffer [4096];
  
  puVar7 = PTR___stack_chk_guard_003a9230;
  var_31 = *(int *)PTR___stack_chk_guard_003a9230;
  if (var_1 == (type_2 *)0x0) {
    var_7 = (*(type_13 *)PTR___assert_fail_003a9608)
                       (var_2 + 0xd78,var_3 + 0x978,0xdb,
                        var_3 + 0xaa4);
    return var_7;
  }
  if (var_1->signature != 0xabacadab) {
    var_7 = (*(type_13 *)PTR___assert_fail_003a9608)
                       (var_2 + 0xda0,var_3 + 0x978,0xdc,
                        var_3 + 0xaa4);
    return var_7;
  }
  if (var_4 == (type_3 *)0x0) {
    var_7 = (*(type_13 *)PTR___assert_fail_003a9608)
                       (var_2 + 0xdd0,var_3 + 0x978,0xdd,
                        var_3 + 0xaa4);
    return var_7;
  }
  if (var_4->signature != 0xabacadab) {
    var_7 = (*(type_13 *)PTR___assert_fail_003a9608)
                       (var_5 + -0x3784,
                        var_3 + 0x978,0xde,var_3 + 0xaa4);
    return var_7;
  }
  pcVar22 = var_1->magick;
  var_6 = (*(type_13 *)PTR_LocaleCompare_003a9110)(pcVar22,var_2 + 0x46cc);
  if (var_6 == 0) {
    var_17 = &DAT_00000004;
    bVar5 = true;
    bVar3 = false;
LAB_001fe9f8:
    var_7 = var_4->debug;
  }
  else {
    var_6 = (*(type_13 *)PTR_LocaleCompare_003a9110)(pcVar22,var_2 + 0x46d4);
    if (var_6 != 0) {
      var_6 = (*(type_13 *)PTR_LocaleCompare_003a9110)(pcVar22,var_2 + 0x46dc);
      if (var_6 == 0) {
        var_17 = &DAT_00000004;
        bVar3 = true;
        bVar5 = false;
      }
      else {
        var_17 = (type_6 *)0x3;
        bVar5 = false;
        var_6 = (*(type_13 *)PTR_LocaleCompare_003a9110)(pcVar22,var_2 + 0x46e4);
        bVar3 = var_6 == 0;
      }
      goto LAB_001fe9f8;
    }
    var_7 = var_4->debug;
    var_17 = (type_6 *)0x3;
    bVar5 = true;
    bVar3 = false;
  }
  if (var_7 != var_8) {
    (*(type_13 *)PTR_LogMagickEvent_003a91e0)
              (0x8000,var_3 + 0x978,var_3 + 0xa90,0xf2,
               var_9 + -0x62ac,var_4->filename);
  }
  if (var_10 == (type_4 *)0x0) {
    var_7 = (*(type_13 *)PTR___assert_fail_003a9608)
                       (var_2 + 0x1cac,var_3 + 0x978,0xf3,
                        var_3 + 0xaa4);
    return var_7;
  }
  pEVar16 = (type_4 *)var_3;
  if (var_10->signature != 0xabacadab) goto LAB_001ff384;
  pEVar16 = var_10;
  var_7 = (*(type_13 *)PTR_OpenBlob_003a924c)(var_1,var_4,4,var_10);
  if (var_7 != var_8) {
    if (!bVar3) {
      var_11 = (type_4 *)
                (*(type_13 *)PTR_GetImageProperty_003a93fc)
                          (var_4,var_5 + -0x1920,var_10
                          );
      if (var_11 != (type_4 *)0x0) {
        (*(type_13 *)PTR_FormatLocaleString_003a8d7c)
                  (buffer,0x1000,var_12 + -0x1bb4,var_11);
        (*(type_13 *)PTR_WriteBlobString_003a95a8)(var_4,buffer);
        pEVar16 = var_11;
      }
      if ((var_4->page).x != 0) {
        (*(type_13 *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,var_3 + 0x98c);
        (*(type_13 *)PTR_WriteBlobString_003a95a8)(var_4,buffer);
      }
      if ((var_4->page).y != 0) {
        (*(type_13 *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,var_3 + 0x998);
        (*(type_13 *)PTR_WriteBlobString_003a95a8)(var_4,buffer);
      }
      (*(type_13 *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,var_3 + 0x9a4);
      (*(type_13 *)PTR_WriteBlobString_003a95a8)(var_4,buffer);
      (*(type_13 *)PTR_FormatLocaleString_003a8d7c)(buffer,0x1000,var_3 + 0x9b4);
      (*(type_13 *)PTR_WriteBlobString_003a95a8)(var_4,buffer);
      (*(type_13 *)PTR_WriteBlobString_003a95a8)(var_4,var_3 + -0x4bdc);
    }
    (*(type_13 *)PTR_SetImageType_003a9188)(var_4,1,var_10);
    if (var_4->storage_class == var_13) {
      var_14 = (double)(*(type_13 *)PTR_GetPixelInfoIntensity_003a8ea4)(var_4,var_4->colormap);
      uVar32 = 0;
      if (*(double *)(var_2 + 0x1ad0) <= var_14) {
        uVar32 = (type_11)*(type_9 *)(var_5 + -0x5a8c);
      }
      if (var_4->colors == 2) {
        var_14 = (double)(*(type_13 *)PTR_GetPixelInfoIntensity_003a8ea4)(var_4,var_4->colormap);
        var_15 = (double)(*(type_13 *)PTR_GetPixelInfoIntensity_003a8ea4)(var_4,var_4->colormap + 1);
        if (var_14 < var_15) goto LAB_001fea70;
        uVar32 = (type_11)*(type_9 *)(var_5 + -0x5a8c);
      }
    }
    else {
LAB_001fea70:
      uVar32 = 0;
    }
    puVar6 = var_3;
    var_16 = (type_6 *)var_4->rows;
    if (0 < (int)var_16) {
      var_11 = (type_4 *)0x0;
      puVar11 = var_3 + -0x15c;
      var_18 = var_17;
      do {
        if (var_16 < var_17) {
          var_18 = var_16 + -(int)var_11;
        }
        pEVar16 = (type_4 *)var_4->columns;
        var_6 = (*(type_13 *)PTR_GetVirtualPixels_003a9764)(var_4,0,var_11,pEVar16,var_18,var_10);
        if (var_6 == 0) break;
        var_28 = var_4->columns;
        if (0 < (int)var_28) {
          uVar31 = 0;
          var_19 = 0;
          bVar2 = var_18 < (type_6 *)0x2;
          do {
            var_24 = var_19 + 1;
            pPVar17 = var_4->channel_map;
            var_23 = (float)uVar31;
            var_22 = (float)uVar32;
            if (var_4->storage_class == var_13) {
              var_20 = pPVar17[5].traits;
              if (var_20 == var_21) {
                var_27 = (type_9)(var_22 == var_23);
                if (var_24 < (int)var_28) {
                  var_25 = 0.0;
                  goto LAB_001feeb4;
                }
              }
              else {
                var_27 = (type_9)(*(float *)(var_6 + (var_19 + pPVar17[5].offset) * 4) == var_22);
                if (var_24 < (int)var_28) {
                  var_25 = *(float *)(var_6 + (var_24 + pPVar17[5].offset) * 4);
LAB_001feeb4:
                  var_26 = 8;
                  if (var_22 != var_25) {
                    var_26 = 0;
                  }
                  var_27 = var_26 | var_27;
                }
              }
              if (!bVar2) {
                var_25 = 0.0;
                if (var_20 != var_21) {
                  var_25 = *(float *)(var_6 + (pPVar17[5].offset + var_28 + var_19) * 4);
                }
                var_26 = (type_9)(char)var_27;
                if (var_22 == var_25) {
                  var_26 = var_26 | 2;
                  var_27 = var_26;
                }
                if ((int)var_28 <= var_24) {
                  if (var_18 != (type_6 *)0x2) {
                    var_29 = var_28 * 2 + var_19;
                    if (var_20 != var_21) goto LAB_001fef54;
LAB_001ff08c:
                    var_25 = 0.0;
                    goto LAB_001fef68;
                  }
                }
                else {
                  var_25 = 0.0;
                  if (var_20 != var_21) {
                    var_25 = *(float *)(var_6 + (pPVar17[5].offset + var_28 + var_19 + 1) * 4);
                  }
                  if (var_22 == var_25) {
                    var_27 = var_26 | 0x10;
                  }
                  if (var_18 != (type_6 *)0x2) {
                    var_29 = var_28 * 2 + var_19;
                    if (var_20 == var_21) goto LAB_001ff08c;
LAB_001fef54:
                    var_25 = *(float *)(var_6 + (var_29 + pPVar17[5].offset) * 4);
LAB_001fef68:
                    var_26 = (type_9)(char)var_27;
                    if (var_22 == var_25) {
                      var_27 = var_26 | 4;
                      var_26 = var_27;
                    }
                    if ((int)var_28 <= var_24) goto LAB_001febe8;
                    var_23 = 0.0;
                    if (var_20 != var_21) {
                      var_23 = *(float *)(var_6 + (pPVar17[5].offset + var_29 + 1) * 4);
                    }
                    if (var_22 == var_23) {
                      var_27 = var_26 | 0x20;
                    }
                    if (var_18 != (type_6 *)0x3) {
LAB_001fefc0:
                      var_29 = var_28 * 3 + var_19;
                      if (var_20 == var_21) {
                        var_23 = 0.0;
                      }
                      else {
                        var_23 = *(float *)(var_6 + (var_29 + pPVar17[5].offset) * 4);
                      }
                      var_26 = (type_9)(char)var_27;
                      if (var_22 == var_23) {
                        var_27 = var_26 | 0x40;
                        var_26 = var_27;
                      }
                      if (var_24 < (int)var_28) {
                        var_23 = 0.0;
                        if (var_20 != var_21) {
                          var_23 = *(float *)(var_6 + (pPVar17[5].offset + var_29 + 1) * 4);
                        }
                        if (var_22 == var_23) {
                          var_27 = var_26 | 0x80;
                        }
                      }
                    }
                  }
                }
              }
LAB_001fec34:
              if (!bVar5) goto LAB_001fec3c;
LAB_001fedf4:
              utf8[0] = 0xe2;
              utf8[1] = (type_14)(var_27 >> 6) | 0xa0;
              utf8[2] = (type_14)var_27 & 0x3f | 0x80;
              (*(type_13 *)PTR_WriteBlob_003a9994)(var_4,3,utf8);
            }
            else {
              var_29 = pPVar17[1].offset;
              bVar4 = *(float *)(var_6 + (var_29 + var_19) * 4) == var_23;
              var_27 = (type_9)bVar4;
              bVar1 = var_24 < (int)var_28;
              if (!bVar1) {
                if (!bVar2) {
                  var_26 = (type_9)bVar4;
                  if (*(float *)(var_6 + (var_28 + var_19) * 4 + var_29 * 4) == var_23)
                  goto LAB_001fed40;
LAB_001fed48:
                  if (bVar1) goto LAB_001feb88;
                  if (var_18 != (type_6 *)0x2) {
                    if (*(float *)(var_6 + (var_28 * 2 + var_19) * 4 + var_29 * 4) == var_23) {
                      var_27 = (int)(char)var_27 | 4;
                    }
                    goto LAB_001febe8;
                  }
                }
                goto LAB_001fec34;
              }
              var_26 = 8;
              if (*(float *)(var_6 + var_24 * 4 + var_29 * 4) != var_23) {
                var_26 = 0;
              }
              var_27 = var_26 | var_27;
              if (bVar2) goto LAB_001fec34;
              var_26 = var_27;
              if (*(float *)(var_6 + (var_28 + var_19) * 4 + var_29 * 4) == var_23) {
LAB_001fed40:
                var_27 = var_26 | 2;
                var_26 = var_27;
                goto LAB_001fed48;
              }
LAB_001feb88:
              if (*(float *)(var_6 + (var_28 + var_19 + 1) * 4 + var_29 * 4) == var_23) {
                var_27 = var_26 | 0x10;
              }
              if (var_18 == (type_6 *)0x2) goto LAB_001fec34;
              var_30 = var_6 + (var_28 * 2 + var_19) * 4;
              var_26 = (type_9)(char)var_27;
              if ((*(float *)(var_30 + var_29 * 4) == var_23) &&
                 (var_27 = var_26 | 4, var_26 = var_27, !bVar1)) {
LAB_001febe8:
                if (var_18 != (type_6 *)0x3) {
                  if (var_4->storage_class == var_13) {
                    var_20 = pPVar17[5].traits;
                    goto LAB_001fefc0;
                  }
                  var_29 = pPVar17[1].offset * 4;
                  var_30 = var_6 + (var_28 * 3 + var_19) * 4;
                  var_26 = (type_9)(char)var_27;
                  if (*(float *)(var_30 + var_29) == var_23) goto LAB_001fec28;
                }
                goto LAB_001fec34;
              }
              var_29 = var_29 * 4;
              if (*(float *)(var_30 + var_29 + 4) == var_23) {
                var_27 = var_26 | 0x20;
              }
              if (var_18 == (type_6 *)0x3) goto LAB_001fec34;
              var_30 = var_6 + (var_28 * 3 + var_19) * 4;
              var_26 = (type_9)(char)var_27;
              if (*(float *)(var_30 + var_29) == var_23) {
LAB_001fec28:
                var_26 = var_26 | 0x40;
                var_27 = var_26;
                if ((int)var_28 <= var_24) goto LAB_001fec34;
              }
              if (*(float *)(var_30 + var_29 + 4) != var_23) goto LAB_001fec34;
              var_27 = var_26 | 0x80;
              if (bVar5) goto LAB_001fedf4;
LAB_001fec3c:
              if (bVar3) {
                (*(type_13 *)PTR_WriteBlobByte_003a8fdc)(var_4);
              }
              else {
                (*(type_13 *)PTR_WriteBlobByte_003a8fdc)(var_4,puVar6[var_27 + 0xa50]);
              }
            }
            var_28 = var_4->columns;
            var_19 = var_19 + 2;
          } while (var_19 < (int)var_28);
        }
        if (!bVar3) {
          (*(type_13 *)PTR_WriteBlobByte_003a8fdc)(var_4,10);
        }
        pEVar16 = var_11;
        var_6 = (*(type_13 *)PTR_SetImageProgress_003a8cb4)
                          (var_4,puVar11,(int)var_11 >> 0x1f,var_11,0,var_4->rows);
        if (var_6 == 0) break;
        var_16 = (type_6 *)var_4->rows;
        var_11 = (type_4 *)(var_18 + (int)&var_11->severity);
        var_17 = var_18 + (int)&var_11->severity;
      } while ((int)var_11 < (int)var_16);
    }
    (*(type_13 *)PTR_CloseBlob_003a9688)(var_4);
    var_7 = MagickTrue;
  }
  if (var_31 == *(int *)puVar7) {
    return var_7;
  }
  (*(type_13 *)PTR___stack_chk_fail_003a9064)();
LAB_001ff384:
  var_7 = (*(type_13 *)PTR___assert_fail_003a9608)
                     (var_2 + 0x294c,var_3 + 0x978,0xf4,
                      &pEVar16[0x55].error_number);
  return var_7;
}


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

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

{
  bool bVar1;
  bool bVar2;
  bool bVar3;
  bool bVar4;
  bool bVar5;
  undefined *puVar6;
  int iVar7;
  undefined *puVar8;
  int iVar9;
  undefined *puVar10;
  undefined1 *puVar11;
  int iVar12;
  undefined *puVar13;
  int iVar14;
  int iVar15;
  uint uVar16;
  uint uVar17;
  int iVar18;
  undefined1 *puVar19;
  undefined1 *puVar20;
  undefined *puVar21;
  int iVar22;
  float fVar25;
  float fVar26;
  double dVar23;
  double dVar24;
  undefined8 uVar27;
  ulonglong uVar28;
  float fVar29;
  undefined1 local_1040;
  byte local_103f;
  byte local_103e;
  undefined1 auStack_103c [4096];
  int local_3c;
  
  puVar6 = PTR___stack_chk_guard_003a9230;
  local_3c = *(int *)PTR___stack_chk_guard_003a9230;
  if (param_1 == 0) {
    iVar7 = (*(code *)PTR___assert_fail_003a9608)
                      (PTR_LAB_003a88e0 + 0xd78,PTR_s_courses_003a88ec + 0x978,0xdb,
                       PTR_s_courses_003a88ec + 0xaa4);
    return iVar7;
  }
  if (*(int *)(param_1 + 0x3214) != -0x54535255) {
    iVar7 = (*(code *)PTR___assert_fail_003a9608)
                      (PTR_LAB_003a88e0 + 0xda0,PTR_s_courses_003a88ec + 0x978,0xdc,
                       PTR_s_courses_003a88ec + 0xaa4);
    return iVar7;
  }
  if (param_2 == (int *)0x0) {
    iVar7 = (*(code *)PTR___assert_fail_003a9608)
                      (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + 0x978,0xdd,
                       PTR_s_courses_003a88ec + 0xaa4);
    return iVar7;
  }
  if (param_2[0xcdb] != -0x54535255) {
    iVar7 = (*(code *)PTR___assert_fail_003a9608)
                      (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,
                       PTR_s_courses_003a88ec + 0x978,0xde,PTR_s_courses_003a88ec + 0xaa4);
    return iVar7;
  }
  iVar18 = param_1 + 0x210;
  iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46cc);
  if (iVar7 == 0) {
    puVar19 = &DAT_00000004;
    bVar5 = true;
    bVar3 = false;
LAB_001fe9f8:
    iVar7 = param_2[0xcd4];
  }
  else {
    iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46d4);
    if (iVar7 != 0) {
      iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46dc);
      if (iVar7 == 0) {
        puVar19 = &DAT_00000004;
        bVar3 = true;
        bVar5 = false;
      }
      else {
        puVar19 = (undefined1 *)0x3;
        bVar5 = false;
        iVar7 = (*(code *)PTR_LocaleCompare_003a9110)(iVar18,PTR_LAB_003a88e0 + 0x46e4);
        bVar3 = iVar7 == 0;
      }
      goto LAB_001fe9f8;
    }
    iVar7 = param_2[0xcd4];
    puVar19 = (undefined1 *)0x3;
    bVar5 = true;
    bVar3 = false;
  }
  if (iVar7 != 0) {
    (*(code *)PTR_LogMagickEvent_003a91e0)
              (0x8000,PTR_s_courses_003a88ec + 0x978,PTR_s_courses_003a88ec + 0xa90,0xf2,
               PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0xd0);
  }
  if (param_3 == (undefined *)0x0) {
    iVar7 = (*(code *)PTR___assert_fail_003a9608)
                      (PTR_LAB_003a88e0 + 0x1cac,PTR_s_courses_003a88ec + 0x978,0xf3,
                       PTR_s_courses_003a88ec + 0xaa4);
    return iVar7;
  }
  puVar13 = PTR_s_courses_003a88ec;
  if (*(int *)(param_3 + 0x1c) != -0x54535255) goto LAB_001ff384;
  puVar13 = param_3;
  iVar7 = (*(code *)PTR_OpenBlob_003a924c)(param_1,param_2,4,param_3);
  if (iVar7 != 0) {
    if (!bVar3) {
      puVar10 = (undefined *)
                (*(code *)PTR_GetImageProperty_003a93fc)
                          (param_2,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1920,param_3
                          );
      if (puVar10 != (undefined *)0x0) {
        (*(code *)PTR_FormatLocaleString_003a8d7c)
                  (auStack_103c,0x1000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + -0x1bb4,
                   puVar10);
        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);
        puVar13 = puVar10;
      }
      if (param_2[0x8c] != 0) {
        (*(code *)PTR_FormatLocaleString_003a8d7c)
                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x98c);
        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);
      }
      if (param_2[0x8d] != 0) {
        (*(code *)PTR_FormatLocaleString_003a8d7c)
                  (auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x998);
        (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);
      }
      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9a4)
      ;
      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);
      (*(code *)PTR_FormatLocaleString_003a8d7c)(auStack_103c,0x1000,PTR_s_courses_003a88ec + 0x9b4)
      ;
      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,auStack_103c);
      (*(code *)PTR_WriteBlobString_003a95a8)(param_2,PTR_s_courses_003a88ec + -0x4bdc);
    }
    (*(code *)PTR_SetImageType_003a9188)(param_2,1,param_3);
    if (*param_2 == 2) {
      dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);
      uVar28 = 0;
      if (*(double *)(PTR_LAB_003a88e0 + 0x1ad0) <= dVar23) {
        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);
      }
      if (param_2[9] == 2) {
        dVar23 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10]);
        dVar24 = (double)(*(code *)PTR_GetPixelInfoIntensity_003a8ea4)(param_2,param_2[10] + 0x58);
        if (dVar23 < dVar24) goto LAB_001fea70;
        uVar28 = (ulonglong)*(uint *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5a8c);
      }
    }
    else {
LAB_001fea70:
      uVar28 = 0;
    }
    puVar10 = PTR_s_courses_003a88ec;
    puVar11 = (undefined1 *)param_2[7];
    if (0 < (int)puVar11) {
      puVar21 = (undefined *)0x0;
      puVar8 = PTR_s_courses_003a88ec + -0x15c;
      puVar20 = puVar19;
      do {
        if (puVar11 < puVar19) {
          puVar20 = puVar11 + -(int)puVar21;
        }
        puVar13 = (undefined *)param_2[6];
        iVar7 = (*(code *)PTR_GetVirtualPixels_003a9764)(param_2,0,puVar21,puVar13,puVar20,param_3);
        if (iVar7 == 0) break;
        iVar18 = param_2[6];
        if (0 < iVar18) {
          uVar27 = 0;
          iVar22 = 0;
          bVar2 = puVar20 < (undefined1 *)0x2;
          do {
            iVar12 = iVar22 + 1;
            iVar14 = param_2[0xb4];
            fVar26 = (float)uVar27;
            fVar29 = (float)uVar28;
            if (*param_2 == 2) {
              iVar15 = *(int *)(iVar14 + 0x40);
              if (iVar15 == 0) {
                uVar17 = (uint)(fVar29 == fVar26);
                if (iVar12 < iVar18) {
                  fVar25 = 0.0;
                  goto LAB_001feeb4;
                }
              }
              else {
                uVar17 = (uint)(*(float *)(iVar7 + (iVar22 + *(int *)(iVar14 + 0x44)) * 4) == fVar29
                               );
                if (iVar12 < iVar18) {
                  fVar25 = *(float *)(iVar7 + (iVar12 + *(int *)(iVar14 + 0x44)) * 4);
LAB_001feeb4:
                  uVar16 = 8;
                  if (fVar29 != fVar25) {
                    uVar16 = 0;
                  }
                  uVar17 = uVar16 | uVar17;
                }
              }
              if (!bVar2) {
                fVar25 = 0.0;
                if (iVar15 != 0) {
                  fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22) * 4);
                }
                uVar16 = (uint)(char)uVar17;
                if (fVar29 == fVar25) {
                  uVar16 = uVar16 | 2;
                  uVar17 = uVar16;
                }
                if (iVar18 <= iVar12) {
                  if (puVar20 != (undefined1 *)0x2) {
                    iVar9 = iVar18 * 2 + iVar22;
                    if (iVar15 != 0) goto LAB_001fef54;
LAB_001ff08c:
                    fVar25 = 0.0;
                    goto LAB_001fef68;
                  }
                }
                else {
                  fVar25 = 0.0;
                  if (iVar15 != 0) {
                    fVar25 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar18 + iVar22 + 1) * 4)
                    ;
                  }
                  if (fVar29 == fVar25) {
                    uVar17 = uVar16 | 0x10;
                  }
                  if (puVar20 != (undefined1 *)0x2) {
                    iVar9 = iVar18 * 2 + iVar22;
                    if (iVar15 == 0) goto LAB_001ff08c;
LAB_001fef54:
                    fVar25 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);
LAB_001fef68:
                    uVar16 = (uint)(char)uVar17;
                    if (fVar29 == fVar25) {
                      uVar17 = uVar16 | 4;
                      uVar16 = uVar17;
                    }
                    if (iVar18 <= iVar12) goto LAB_001febe8;
                    fVar26 = 0.0;
                    if (iVar15 != 0) {
                      fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);
                    }
                    if (fVar29 == fVar26) {
                      uVar17 = uVar16 | 0x20;
                    }
                    if (puVar20 != (undefined1 *)0x3) {
LAB_001fefc0:
                      iVar9 = iVar18 * 3 + iVar22;
                      if (iVar15 == 0) {
                        fVar26 = 0.0;
                      }
                      else {
                        fVar26 = *(float *)(iVar7 + (iVar9 + *(int *)(iVar14 + 0x44)) * 4);
                      }
                      uVar16 = (uint)(char)uVar17;
                      if (fVar29 == fVar26) {
                        uVar17 = uVar16 | 0x40;
                        uVar16 = uVar17;
                      }
                      if (iVar12 < iVar18) {
                        fVar26 = 0.0;
                        if (iVar15 != 0) {
                          fVar26 = *(float *)(iVar7 + (*(int *)(iVar14 + 0x44) + iVar9 + 1) * 4);
                        }
                        if (fVar29 == fVar26) {
                          uVar17 = uVar16 | 0x80;
                        }
                      }
                    }
                  }
                }
              }
LAB_001fec34:
              if (!bVar5) goto LAB_001fec3c;
LAB_001fedf4:
              local_1040 = 0xe2;
              local_103f = (byte)(uVar17 >> 6) | 0xa0;
              local_103e = (byte)uVar17 & 0x3f | 0x80;
              (*(code *)PTR_WriteBlob_003a9994)(param_2,3,&local_1040);
            }
            else {
              iVar15 = *(int *)(iVar14 + 0x14);
              bVar4 = *(float *)(iVar7 + (iVar15 + iVar22) * 4) == fVar26;
              uVar17 = (uint)bVar4;
              bVar1 = iVar12 < iVar18;
              if (!bVar1) {
                if (!bVar2) {
                  uVar16 = (uint)bVar4;
                  if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26)
                  goto LAB_001fed40;
LAB_001fed48:
                  if (bVar1) goto LAB_001feb88;
                  if (puVar20 != (undefined1 *)0x2) {
                    if (*(float *)(iVar7 + (iVar18 * 2 + iVar22) * 4 + iVar15 * 4) == fVar26) {
                      uVar17 = (int)(char)uVar17 | 4;
                    }
                    goto LAB_001febe8;
                  }
                }
                goto LAB_001fec34;
              }
              uVar16 = 8;
              if (*(float *)(iVar7 + iVar12 * 4 + iVar15 * 4) != fVar26) {
                uVar16 = 0;
              }
              uVar17 = uVar16 | uVar17;
              if (bVar2) goto LAB_001fec34;
              uVar16 = uVar17;
              if (*(float *)(iVar7 + (iVar18 + iVar22) * 4 + iVar15 * 4) == fVar26) {
LAB_001fed40:
                uVar17 = uVar16 | 2;
                uVar16 = uVar17;
                goto LAB_001fed48;
              }
LAB_001feb88:
              if (*(float *)(iVar7 + (iVar18 + iVar22 + 1) * 4 + iVar15 * 4) == fVar26) {
                uVar17 = uVar16 | 0x10;
              }
              if (puVar20 == (undefined1 *)0x2) goto LAB_001fec34;
              iVar9 = iVar7 + (iVar18 * 2 + iVar22) * 4;
              uVar16 = (uint)(char)uVar17;
              if ((*(float *)(iVar9 + iVar15 * 4) == fVar26) &&
                 (uVar17 = uVar16 | 4, uVar16 = uVar17, !bVar1)) {
LAB_001febe8:
                if (puVar20 != (undefined1 *)0x3) {
                  if (*param_2 == 2) {
                    iVar15 = *(int *)(iVar14 + 0x40);
                    goto LAB_001fefc0;
                  }
                  iVar15 = *(int *)(iVar14 + 0x14) * 4;
                  iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;
                  uVar16 = (uint)(char)uVar17;
                  if (*(float *)(iVar14 + iVar15) == fVar26) goto LAB_001fec28;
                }
                goto LAB_001fec34;
              }
              iVar15 = iVar15 * 4;
              if (*(float *)(iVar9 + iVar15 + 4) == fVar26) {
                uVar17 = uVar16 | 0x20;
              }
              if (puVar20 == (undefined1 *)0x3) goto LAB_001fec34;
              iVar14 = iVar7 + (iVar18 * 3 + iVar22) * 4;
              uVar16 = (uint)(char)uVar17;
              if (*(float *)(iVar14 + iVar15) == fVar26) {
LAB_001fec28:
                uVar16 = uVar16 | 0x40;
                uVar17 = uVar16;
                if (iVar18 <= iVar12) goto LAB_001fec34;
              }
              if (*(float *)(iVar14 + iVar15 + 4) != fVar26) goto LAB_001fec34;
              uVar17 = uVar16 | 0x80;
              if (bVar5) goto LAB_001fedf4;
LAB_001fec3c:
              if (bVar3) {
                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2);
              }
              else {
                (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,puVar10[uVar17 + 0xa50]);
              }
            }
            iVar18 = param_2[6];
            iVar22 = iVar22 + 2;
          } while (iVar22 < iVar18);
        }
        if (!bVar3) {
          (*(code *)PTR_WriteBlobByte_003a8fdc)(param_2,10);
        }
        puVar13 = puVar21;
        iVar7 = (*(code *)PTR_SetImageProgress_003a8cb4)
                          (param_2,puVar8,(int)puVar21 >> 0x1f,puVar21,0,param_2[7]);
        if (iVar7 == 0) break;
        puVar11 = (undefined1 *)param_2[7];
        puVar21 = puVar21 + (int)puVar20;
        puVar19 = puVar21 + (int)puVar20;
      } while ((int)puVar21 < (int)puVar11);
    }
    (*(code *)PTR_CloseBlob_003a9688)(param_2);
    iVar7 = 1;
  }
  if (local_3c == *(int *)puVar6) {
    return iVar7;
  }
  (*(code *)PTR___stack_chk_fail_003a9064)();
LAB_001ff384:
  iVar7 = (*(code *)PTR___assert_fail_003a9608)
                    (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + 0x978,0xf4,puVar13 + 0xaa4);
  return iVar7;
}

